質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

MariaDB

MariaDBは、MySQL派生のオープンソースなリレーショナルデータベースシステムです。 また、MySQLとほぼ同じデータベースエンジンに対応しています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

2回答

2163閲覧

EC2上でのシンタックスエラーについて

退会済みユーザー

退会済みユーザー

総合スコア0

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

MariaDB

MariaDBは、MySQL派生のオープンソースなリレーショナルデータベースシステムです。 また、MySQLとほぼ同じデータベースエンジンに対応しています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2017/03/01 14:00

編集2017/03/03 06:12

EC2にSSH接続して、Node.jsを起動するために「sudo npm start」のコマンドを走らせると下記のようなエラーが出てしまい原因がわからず困っています。
間違えっている点や解決策などわかる方がいましたら教えていただきたいです。
よろしくお願いいたします。

表示されるエラーとエラー発生箇所のコード、package.jsonを以下に添付しておきます。

Package.json
1
2

gulpfile.js
gulpfile

npm installによるエラー
npm install

sudo npm install・npm start
エラー

MySQLのユーザー一覧
ユーザーリスト

sudo node ./bin/wwwのエラー
sudo node ./bin/wwwのエラー

イメージ説明
sudo npm install -g n実行時の画面

再実行

MySQL接続箇所
MySQL接続箇所

README
README

DB接続関連コード
DB接続関連コード

npm start実行結果
最新画像

sudo node ./bin/wwwの実行結果
sudo node ./bin/www

./bin/www

javascript

1#!/usr/bin/env node 2 3/** 4 * Module dependencies. 5 */ 6 7var app = require('../app'); 8var debug = require('debug')('Mery:server'); 9var http = require('http'); 10var https = require('https'); 11var fs = require('fs'); 12 13// Require the models 14 15var models = require('../models'); 16 17// Sync the sequelize 18/*models.sequelize.sync().then(() => { 19 console.log('connected to the database'); 20});*/ 21models.sequelize.sync().then(function() { 22 console.log('connected to the database'); 23}); 24 25/** 26 * Get port from environment and store in Express. 27 */ 28 29var port = normalizePort(process.env.PORT || '3000'); 30app.set('port', port); 31 32/** 33 * Create HTTP server. 34 */ 35 36var server = http.createServer(app); 37 38/** 39 * Listen on provided port, on all network interfaces. 40 */ 41 42server.listen(port); 43server.on('error', onError); 44server.on('listening', onListening); 45 46/** 47 * Normalize a port into a number, string, or false. 48 */ 49 50function normalizePort(val) { 51 var port = parseInt(val, 10); 52 53 if (isNaN(port)) { 54 // named pipe 55 return val; 56 } 57 58 if (port >= 0) { 59 // port number 60 return port; 61 } 62 63 return false; 64} 65 66/** 67 * Event listener for HTTP server "error" event. 68 */ 69 70function onError(error) { 71 if (error.syscall !== 'listen') { 72 throw error; 73 } 74 75 var bind = typeof port === 'string' 76 ? 'Pipe ' + port 77 : 'Port ' + port; 78 79 // handle specific listen errors with friendly messages 80 switch (error.code) { 81 case 'EACCES': 82 console.error(bind + ' requires elevated privileges'); 83 process.exit(1); 84 break; 85 case 'EADDRINUSE': 86 console.error(bind + ' is already in use'); 87 process.exit(1); 88 break; 89 default: 90 throw error; 91 } 92} 93 94/** 95 * Event listener for HTTP server "listening" event. 96 */ 97 98function onListening() { 99 var addr = server.address(); 100 var bind = typeof addr === 'string' 101 ? 'pipe ' + addr 102 : 'port ' + addr.port; 103 debug('Listening on ' + bind); 104} 105 106// Cron 107var CronJob = require('cron').CronJob; 108var job = new CronJob({ 109 cronTime: ' 00 03 * * 1-7', 110 onTick: function () { 111 /* 112 * Runs every weekday (Monday through Sunday) 113 * at 03:00:00 AM. 114 */ 115 console.log(`${new Date()}: Starting to Update Views`) 116 models.Toview.findAll({ 117 where: { 118 view: { 119 $eq: 1 120 } 121 } 122 }).then((result) => { 123 var sequelize = require('sequelize'); 124 console.log(typeof result); 125 result.forEach((blog) => { 126 models.Blog.update({ 127 views: sequelize.literal('views +1'), 128 previous_views: sequelize.literal('previous_views +1') 129 }, { 130 where: { 131 id: blog.a_id 132 } 133 }).then(() => { 134 models.Toview.destroy({ 135 where: { 136 id: blog.id 137 } 138 }); 139 }); 140 }); 141 }); 142 }, 143 start: true 144}); 145job.start(); 146

bower.json

json

1{ 2 "name": "Mery", 3 "description": "", 4 "main": "", 5 "authors": [ 6 "John Eric Torres Orolfo" 7 ], 8 "license": "MIT", 9 "homepage": "", 10 "private": true, 11 "ignore": [ 12 "**/.*", 13 "node_modules", 14 "bower_components", 15 "test", 16 "tests" 17 ], 18 "dependencies": { 19 "riot": "^2.6.4" 20 }, 21 "devDependencies": { 22 "axios": "^0.15.2" 23 } 24}

sudo node ./bin/wwwのエラー
エラー

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

moonphase

2017/03/02 00:38

アプリからDBに繋がる以前の問題なので、題名の変更をされたほうがいいのではないでしょうか。
退会済みユーザー

退会済みユーザー

2017/03/02 01:19

ご指摘ありがとうございます。変更しました。
guest

回答2

0

es5に書き換えた./bin/www

javascript

1var app = require('../app'); 2var debug = require('debug')('Mery:server'); 3var http = require('http'); 4var https = require('https'); 5var fs = require('fs'); 6 7// Require the models 8 9var models = require('../models'); 10 11// Sync the sequelize 12/*models.sequelize.sync().then(() => { 13 console.log('connected to the database'); 14});*/ 15models.sequelize.sync().then(function() { 16 console.log('connected to the database'); 17}); 18 19/** 20 * Get port from environment and store in Express. 21 */ 22 23var port = normalizePort(process.env.PORT || '3000'); 24app.set('port', port); 25 26/** 27 * Create HTTP server. 28 */ 29 30var server = http.createServer(app); 31 32/** 33 * Listen on provided port, on all network interfaces. 34 */ 35 36server.listen(port); 37server.on('error', onError); 38server.on('listening', onListening); 39 40/** 41 * Normalize a port into a number, string, or false. 42 */ 43 44function normalizePort(val) { 45 var port = parseInt(val, 10); 46 47 if (isNaN(port)) { 48 // named pipe 49 return val; 50 } 51 52 if (port >= 0) { 53 // port number 54 return port; 55 } 56 57 return false; 58} 59 60/** 61 * Event listener for HTTP server "error" event. 62 */ 63 64function onError(error) { 65 if (error.syscall !== 'listen') { 66 throw error; 67 } 68 69 var bind = typeof port === 'string' 70 ? 'Pipe ' + port 71 : 'Port ' + port; 72 73 // handle specific listen errors with friendly messages 74 switch (error.code) { 75 case 'EACCES': 76 console.error(bind + ' requires elevated privileges'); 77 process.exit(1); 78 break; 79 case 'EADDRINUSE': 80 console.error(bind + ' is already in use'); 81 process.exit(1); 82 break; 83 default: 84 throw error; 85 } 86} 87 88/** 89 * Event listener for HTTP server "listening" event. 90 */ 91 92function onListening() { 93 var addr = server.address(); 94 var bind = typeof addr === 'string' 95 ? 'pipe ' + addr 96 : 'port ' + addr.port; 97 debug('Listening on ' + bind); 98} 99 100// Cron 101var CronJob = require('cron').CronJob; 102var job = new CronJob({ 103 cronTime: ' 00 03 * * 1-7', 104 onTick: function () { 105 /* 106 * Runs every weekday (Monday through Sunday) 107 * at 03:00:00 AM. 108 */ 109 var dt = new Date(); 110 var strDt = [dt.getFullYear(), dt.getMonth() + 1, dt.getDate()].join('-') + ' ' + [('0' + dt.getHours()).slice(-2), ('0' + dt.getMinutes()).slice(-2), ('0' + dt.getSeconds()).slice(-2)].join(':'); 111 console.log(strDt + ': Starting to Update Views'); 112 models.Toview.findAll({ 113 where: { 114 view: { 115 $eq: 1 116 } 117 } 118 }).then(function(result) { 119 var sequelize = require('sequelize'); 120 console.log(typeof result); 121 result.forEach(function(blog) { 122 models.Blog.update({ 123 views: sequelize.literal('views +1'), 124 previous_views: sequelize.literal('previous_views +1') 125 }, { 126 where: { 127 id: blog.a_id 128 } 129 }).then(function() { 130 models.Toview.destroy({ 131 where: { 132 id: blog.id 133 } 134 }); 135 }); 136 }); 137 }); 138 }, 139 start: true 140}); 141job.start(); 142

投稿2017/03/03 04:46

turbgraphics200

総合スコア4267

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

node.jsのバージョンが低くて、es2015のコードが書けないとか。
ためしにfunciton() {}に変更してみたらどうなります?

投稿2017/03/01 14:03

turbgraphics200

総合スコア4267

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/03/01 14:23

これはシンタックスエラーだから、そういうことなんですか。 私はエンジニアではなく訳あってデプロイは自分でやらなくてはいけない状況になっていまして。 ちなみにバージョンですが、調べてたとところv7.6.0と出てきました。そして、Nodeの最新バージョンを調べたらv6.10.0となっていたのですが、おそらくここがいけないのでしょうか? ちなみに、下記サイトを見て、その通りに実行しました。 https://sea-encode.top/2016/09/12/aws-ec2-node-js%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%97%E3%81%A6hello-world%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%95%E3%81%9B%E3%82%8B/ また、エンジニアでないため自信がないのですが、ご指摘いただいた点の書き換え後は以下のような形であっていますでしょうか? models.sequelize.sync().then() =function() { console.log('connected to the database'); };
turbgraphics200

2017/03/01 14:29

LTSの最新バージョンは6.10ですが、さらに先の最新バージョンが7.6ですのでnode.jsのバージョンはもんだありませんね。 書き換えですが models.sequelize.sync().then(function() { console.log('connected to the database'); }); としてみてください。
退会済みユーザー

退会済みユーザー

2017/03/01 15:01

ご丁寧にありがとうございます。 今になってインサートモードで修正する方法があったと思ったのですが、再度デプロイしていたので時間がかかってしまい申し訳ありません。 修正したところ、最初にお伝えしていたエラーは解消されました。 そして上記質問内容に追加したエラーが発生しました。 これらのエラーは何によるものなのかわかりますでしょうか?
turbgraphics200

2017/03/01 15:11

やはりes2015が使えない状況のようですね。このほかにも出てくるでしょうから、とりあえずコード修正は置いといて、すみませんが、コードがあるフォルダまたはその親のフォルダにpackage.jsonがあると思いますので、その内容を記載していただけませんか?
退会済みユーザー

退会済みユーザー

2017/03/01 15:23

2つになってしまいましたが追加しました。 すごい素人な質問で申し訳ないのですが、これらのdependenciesの中にあるものって全てEC2上で何かのコマンドでインストールするものでしょうか?
退会済みユーザー

退会済みユーザー

2017/03/01 15:26

node_modulesというフォルダがあり、その中にそれらしきフォルダはたくさん入っているのですが。。
turbgraphics200

2017/03/02 01:34

node --harmony ./bin/www として--harmony オプション付けて起動してみてください。
退会済みユーザー

退会済みユーザー

2017/03/02 01:40

「node --harmony ./bin/www」としても同じエラーが表示されてしまいました。
turbgraphics200

2017/03/02 01:44

.babelrcファイルがあると思いますが、その内容はどうなっています?
退会済みユーザー

退会済みユーザー

2017/03/02 01:55

そちらのファイルはどこにあるものなのでしょうか? 「home/ec2-user/」にアプリコードを置いているのですが、その周辺にはそのようなファイルが見つからないのですが。
退会済みユーザー

退会済みユーザー

2017/03/02 02:08

関係があるかわかりませんが、gulpfie.jsの中の各タスクに以下のような記述はありました。 上記質問内容にスクリーンショットも添付しています。 .pipe(babelify({ presets: ['es2015'] }))
turbgraphics200

2017/03/02 02:10

すいません。そしたら、一度 gulp と入力して、gulpを実行してみてください。
退会済みユーザー

退会済みユーザー

2017/03/02 02:17

gulpを実行しようとすると、「コマンドが見つかりません」というエラーが出てしまうのですが。 本当にいろいろと申し訳ありません。
turbgraphics200

2017/03/02 02:27

そしたら、 package.jsonのあるフォルダに行き npm install と入力して実行してください。
退会済みユーザー

退会済みユーザー

2017/03/02 02:39

すいません。またしてもエラーが出てしまったのですが。。 エラーのスクリーンショットを上記質問に添付させていただきました。 本当にわからないことだらけで申し訳ないです。
turbgraphics200

2017/03/02 02:40

sudo npm install としてみてください。
退会済みユーザー

退会済みユーザー

2017/03/02 02:54

sudo npm installはWARNと表示されましたが実行でき、その後npm startを実行するとエラーが表示されてしまいました。 npm start以外にも「node ./bin/www」「node --harmony ./bin/www」を試しましたが同じエラーでした。 エラーのスクリーンショットは上記に添付してあります。
turbgraphics200

2017/03/02 02:56

MySQLにroot@localhostのユーザー作成してください。
退会済みユーザー

退会済みユーザー

2017/03/02 03:08

こちらはRDSに接続して以下のコマンドということであっていますでしょうか? CREATE USER root@localhost IDENTIFIED BY 'password(自分で設定)'
turbgraphics200

2017/03/02 03:14

ええ、作成した後はユーザーに権限も設定してください。
退会済みユーザー

退会済みユーザー

2017/03/02 03:59

いろいろ試していて時間がかかってしまって申し訳ありません。 root@localhostを作成して、下記のコマンドで権限も付与したのですが、同じエラーが表示されてしまいました。 grant all privileges on cara.* to root@localhost IDENTIFIED BY '{パスワード}'; ちなみに現在のユーザー一覧のスクリーンショットは上記質問内容の最下部に添付しています。 grant all privileges on *.* to root@localhost IDENTIFIED BY '{パスワード}'; で権限を付与しようとしてみたら、 ERROR 1045 (28000): Access denied for user 'a14enlon'@'%' (using password: YES) というエラーが出てしまったので、今回使用するはずのcara.*で権限を付与しました。 これはRDSのマスターユーザーをrootとして作成する必要があるのでしょうか?
turbgraphics200

2017/03/02 04:07

ちなみにこの状態でnode ./bin/wwwを実行してみたらどうなります?
退会済みユーザー

退会済みユーザー

2017/03/02 04:12

これまでと同じように下記のエラーが表示されてしまいます。 Unhandled rejection SequelizeBaseError: ER_ACCESS_DENIED_ERROR: Access denied for user 'root'@'localhost' (using password: YES)
turbgraphics200

2017/03/02 04:13

RDSにrootでログインして、root@localhostに権限を与えてみてください。
退会済みユーザー

退会済みユーザー

2017/03/02 04:18

mysql -h RDSのエンドポイント -P 3306 -u root -p でログインしようとすると、パスワードを入力したタイミングで ERROR 1045 (28000): Access denied for user 'root'@'10.0.0.186' (using password: YES) というエラーが表示されてしまうのですが。 RDSのrootでのログインの方法が間違っていますでしょうか? 他の方法があれば、教えていただけると助かります。
turbgraphics200

2017/03/02 04:21

rdsadminでログインしてみてください。
退会済みユーザー

退会済みユーザー

2017/03/02 04:31

rdsadminというユーザーは作成した覚えがなく、パスワードが不明なのですが、 考えられる様々なパスワードを試してみましたが、全て以下のエラーが返されてしまいました。 ERROR 1045 (28000): Access denied for user 'rdsadmin'@'10.0.0.186' (using password: YES)
退会済みユーザー

退会済みユーザー

2017/03/02 06:52 編集

遅くなってしまい申し訳ありません。 いただいたコマンドはなぜか実行できなく、いろいろ探していたらほとんど同じ内容の記事を見つけ、そちらは実行できたので、以下のサイトを参考に実行しました。 http://www.goofoo.jp/2011/11/1457 ただ、この変更の後にsudo npm startを実行しても以前と同様のエラーが返ってきてしまいます。 mysql -h RDSのエンドポイント -P 3306 -u root -p を実行してもパスワードを入力すると、またしても下記エラーが発生してしまいます。 ERROR 1045 (28000): Access denied for user 'root'@'10.0.0.186' (using password: YES) 念のため行ったときのことを記載しますが、 mysqlを止めて–skip-grant-tablesオプション付きで起動しrootで入ったときは、私がこのアプリのために作成したcaraというデータベースは存在しなく、information_schema、innodb、mysql、performance_schemaの4つのみで、use mysqlを実行してから、以下のコマンドで権限を付与しました。 grant all privileges on *.* to root@localhost identified by 'パスワード' with grant option; このような状況なのですが、何が原因か、どうすれば解決できるか、わかりますでしょうか?
turbgraphics200

2017/03/02 06:54

root@10.0.0.186のユーザーを作成してみてください。
退会済みユーザー

退会済みユーザー

2017/03/02 07:53

そちらを作成してcara.*に対する権限を与えても、npm startコマンド時のエラーは変化ありませんでした。 また、*.*の権限を与えることはできませんでした。 ただ、「mysql -h RDSのエンドポイント -P 3306 -u root -p」でmysqlに接続することはできるようになりました。 また、「sudo node .bin/www」を実行すると上記質問エリア最下部のようにes2015のところでエラーが発生してしまいます。
turbgraphics200

2017/03/02 07:58

すいませんが、もう一度 node -v と入力してnodeのバージョンを確認してください。
退会済みユーザー

退会済みユーザー

2017/03/02 08:15

今確認しても変わらずv7.6.0と表示されます。
turbgraphics200

2017/03/02 08:17

./bin/www の内容を確認してください。
退会済みユーザー

退会済みユーザー

2017/03/02 08:21

確認とは何をすればいいのでしょうか?
turbgraphics200

2017/03/02 10:23

すみません。 sudo npm install -g n としてnodeのバージョン管理をインストールしてください。
退会済みユーザー

退会済みユーザー

2017/03/02 12:12

いえ、私がわからないことが多すぎて申し訳ないです。 「sudo npm install -g n」を実行した時の画面を質問内容最下部に添付しました。 念のための情報ですが、こちらを入れた後にバージョンを確認してもv7.6.0と変わらず、「npm start」を実行しても以前のエラーと変化はありませんでした。
turbgraphics200

2017/03/02 12:14

ちょっとキャッシュが悪さしてるっぽいので sudo npm cache clean を実行してキャッシュをクリアした後再度 sudo npm install -g n を実行してみてください。
退会済みユーザー

退会済みユーザー

2017/03/02 12:22

多少実行結果は変わったのですが、まだWARNが出ています。 実行結果は最下部に添付してあります。 あと、こちらのコマンド「sudo npm install -g n」見覚えがあると思い、Nodeインストール時の実行コマンドのメモを見返したらすでに実行していました。 参考までにNodeインストール時に実行したコマンドはこのような感じです。 sudo yum install nodejs npm --enablerepo=epel sudo yum install git gcc-c++ make openssl-devel sudo npm install -g n sudo n stable
turbgraphics200

2017/03/02 12:24

そしたら、現在、最新バージョンは7.7.1らしいので sudo n 7.7.1 としてnodeの7.7.1に切り替えてみてください
退会済みユーザー

退会済みユーザー

2017/03/02 12:53

これまでとは違うエラーが表示されて、これよりまでも前段階でのエラーのような気もするのですが、バーsジョン変更に伴い、他にも何か変更することありましたでしょうか?
退会済みユーザー

退会済みユーザー

2017/03/02 12:54

エラーのスクリーンショットは上記の添付しています。npm startとsudo node ./bin/wwwの両方あります。
turbgraphics200

2017/03/02 13:07

sudo lsof -i:3000 として、3000ポートを使用しているプロセスを調べてください。 httpd 1399 apache 4u IPv4 11324 0t0 TCP *:http (LISTEN) といった感じの行が表示されると思うので左から2番目がプロセスIDとなります。 kill -9 <PID> (上記の例だと kill -9 1399) のコマンドで3000ポートを使用しているプロセスを強制終了させてから再度実行を試してみてください。
turbgraphics200

2017/03/02 13:10

あ、 sudo kill -9 <PID> でsudo付きでないとだめかも
退会済みユーザー

退会済みユーザー

2017/03/02 13:27

ご丁寧にありがとうございます。kill -9はsudoなしでも実行できました。 ただ、そのコマンドのあとにnpm startを実行しても以下のようにこれまでと同じエラーが発生してしまいました。 Unhandled rejection SequelizeBaseError: ER_ACCESS_DENIED_ERROR: Access denied for user 'root'@'localhost' (using password: YES) これはRDSに通信している時のエラーという認識であっていますでしょうか?
turbgraphics200

2017/03/02 13:31

ソースコードでmysqlに接続しているところを調べて、パスワードがあっているか確認してください。
退会済みユーザー

退会済みユーザー

2017/03/02 13:46

ソースコードのどの部分がMySQLに接続している部分か自信がないのですが、上記添付画像の部分であっていますでしょうか?
turbgraphics200

2017/03/02 13:49

別ファイルで管理してるのですね。これでいいかと思います。これでroot@localhostのパスワードと一致していなかったら書き換えてみてください。
退会済みユーザー

退会済みユーザー

2017/03/02 14:04

もともとrootに揃えても試していて、再度パスワードをrootに変更しましたが、変わりませんでした。 root@localhostとroot@10.0.0.186の両方をrootに揃えました。
turbgraphics200

2017/03/02 14:20

meryというデータベースあります?
退会済みユーザー

退会済みユーザー

2017/03/02 14:49

meryではなくcaraというデータベースを作りました。 質問内容最下部に添付したファイルがあって、そこから本番はcaraというデータベースを作るのかと思っていたのですが、meryで作るべきでしょうか? 添付ファイル英語ですいません。 今東南アジアにいて、現地の人にコードを書いてもらったのですが、お金を払ったら連絡が返ってこなくなり、今自分で試行錯誤している状況に至っているためです。 あと、もともとこのコードは一旦Elastic Beanstalk上にデプロイされていたものを使っています。 その現地の人はAWSを使ったことがなくいろいろとあまりよくない設定になっていたので、今やり直しているところです。
turbgraphics200

2017/03/02 14:53

そしたら、ためしに接続設定ファイルのdatabeseの項目のところをcaraに変えてみてください。
退会済みユーザー

退会済みユーザー

2017/03/02 15:19

いろいろ試してみたのですが変化はありませんでした。 DB接続に関係ありそうなコードを見つけたのですが、これとこれまでの添付ファイルからどのように設定すれば良いなどわかったりしますでしょうか? 今回見つけたDB接続に関係ありそうなファイルは質問内容最下部に添付しています。
turbgraphics200

2017/03/02 15:31

環境変数使用しているのか。 $ export RDS_HOSTNAME=localhost $ export RDS_USERNAME=root $ export RDS_PASSWORD=rootのパスワード $ export RDS_PORT=3306 とコマンドで環境変数を設定してみてください。
退会済みユーザー

退会済みユーザー

2017/03/02 15:48

いただいたものに加えて「export RDS_DB_NAME=cara」も追加したのですが、npm実行後のエラーに変化はありませんでした。。 RDS立ち上げ時のマスターユーザー名とそのパスワードをrootにしないといけないなどあるのでしょうか?
退会済みユーザー

退会済みユーザー

2017/03/02 15:50

ちなみにこのいただいたコマンドはアプリのコードのあるディレクトリ(home/ec2-user/cara/)で実行するという認識であっていましたでしょうか?(caraがアプリケーションのディレクトリです)
turbgraphics200

2017/03/02 22:44

ええ、具体的にはpackage.jsonがあるフォルダです。./bin/wwwで起動しているところを見るとgeneratorで作成されたものと推測されます。pakage.jsonがあるフォルダには、node_modules,bin,public,rutes,viewsフォルダといったものがあると思います。
turbgraphics200

2017/03/02 22:45

ちなみに、AWSのRDSを使用してDB(cara)を作成したのでしょうか?
退会済みユーザー

退会済みユーザー

2017/03/03 02:58

はい、それらがあるファイルで実行しました。 また、RDSを使用してDB(cara)を作成しています。
turbgraphics200

2017/03/03 03:03

そしたら $ export RDS_HOSTNAME=RDSのホスト名 としてください。
退会済みユーザー

退会済みユーザー

2017/03/03 04:03

export RDS_HOSTNAME=RDSのホスト名を指定して、 そのあと、「export NODE_ENV = 'EB-PRODUCTION'」を実行して、 USERNAMEとPASSWORDをRDS立ち上げ時に作成したマスターのものと揃えたら無事にDBと接続できました。 上記にnpm start(長すぎるので途中までのものです)とsudo node ./bin/wwwの実行結果を添付していますが、sudo node ./bin/wwwでは未だにシンタックスエラーが発生しますが、これはnpm startを使用すればよいということで放っておいていいのでしょうか? あといくつかお聞きしたことがあるので、下記に箇条書きにさせていただきます。 ・今は自分でターミナルで立ち上げていないとサイトが見れないのですが、本番ではどのように対応するのでしょうか? ・package.jsonとbower.jsonの中にname:Meryとあるのですが、こちらは変更しても問題ないのでしょうか? ・bowerに関するコマンドは実行していないのですが、「npm install bower -g」など実行する必要はありますか? すごい丁寧に長い間お世話になり、さらにいろいろと質問してしまってすいません。
退会済みユーザー

退会済みユーザー

2017/03/03 04:04

bowerに関するもので必要なコマンドがあったら教えていただけると嬉しいです。
turbgraphics200

2017/03/03 04:07

いまのところ、bowerが必要となる場面が出てきません。 あと、./bin/wwwの内容を掲載してください。
退会済みユーザー

退会済みユーザー

2017/03/03 04:36

./bin/wwwとbower.jsonの中身を上記に追加しました。 riot.jsやaxiosを使用する時にbowerに関するコマンドが必要になるのでしょうか?
turbgraphics200

2017/03/03 04:50

./bin/wwwをes5に書き換えたものを回答に書きました。これをコピペしてください。(コードブロック右上にコピーボタンがあるので楽です) あと、bowerはタスクランナーです。WebPackでほぼ同等の処理が行えますので、WebPackを使用するのであればbowerは不要だと思いますが。bowerやWebPackがどういうものかはご自身で学習してください。
退会済みユーザー

退会済みユーザー

2017/03/03 06:10

本当にご丁寧にありがとうございます。 ./bin/wwwを書き換えてsudo node ./bin/wwwを実行してみたのですが、他のファイルでエラーが発生してしまいました。(上記にスクリーンショットあり) これはnpm startを実行しないとアロー関数を使えなく、npm startで起動するしかないということでしょうか? npm startでの起動でも問題がなければこれでいいのですが。。 また、環境変数はssh接続をきるとリセットされてしまうようなのですが、これも仕方がないことなのでしょうか? もし環境変数がリセットされないようにする方法があれば教えていただきたいです。
turbgraphics200

2017/03/03 06:20

このプロジェクトは個人のものでしょうか、それとも会社や他の人のものでしょうか
退会済みユーザー

退会済みユーザー

2017/03/03 06:25

現状個人のもので、後々法人化を考えている状況です。
退会済みユーザー

退会済みユーザー

2017/03/03 06:45

わかりました。
退会済みユーザー

退会済みユーザー

2017/03/03 06:46

しました。
turbgraphics200

2017/03/03 06:46

そしたらなんか送ってください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問