症状
RailsAPIモードにReactを入れた構成をcloud9上でnpmstartで動かそうとしたとき、下記エラーコードで怒られてしまいました。 どうやら、package.jsonがないよと言われているようです。エラーメッセージ
(master) npm start
npm ERR! code ENOENT
npm ERR! syscall open
npm ERR! path /home/ubuntu/package.json
npm ERR! errno -2
npm ERR! enoent ENOENT: no such file or directory, open '/home/ubuntu/package.json'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent
npm ERR! A complete log of this run can be found in:
npm ERR! /home/ubuntu/.npm/_logs/2021-04-09T02_35_13_814Z-debug.log
ファイルを確認すると確かに/home/ubuntu/package.jsonには、該当のファイルがありませんでした。
その下位にある/home/ubuntu/プロジェクト名/frontendにはpackage.jsonがありました。
解決策
package.jsonがあるディレクトリのfrontendまで移動して、そこでnpmstartすることで正常にnpmstartすることができました。ディレクトリを移動して、npmstart
#package.jsonがあるディレクトリまで移動
cd frontend
npm start
ちなみに、「npm start」Nodeプロジェクトを実行という意味で、package.json の scripts.start に指定された内容を実行するとのこと。
今回のエラーは実行に必要なpackage.jsonファイルが見つからなかったため、怒っていたようです。
初歩的ではありましたが、npm initしてpackage.jsonがあるディレクトリでなければいけないことを改めて認識することができましt。