【Node】npmstartしたら、ENOENT: no such file or directory, open '/home/ubuntu/package.json'と怒られた件【React】


症状

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。

参考

プロジェクトを実行!npm startの使い方【初心者向け】
https://techacademy.jp/magazine/16393