一般論的な所で回答します。
Next.jpを利用しているとのことで
実は裏でMySQL等のデータベースや画像ファイル等の管理をAWSでやる等の
回答者側では知り得ない機密情報に抵触する可能性があるので
上辺だけしか回答出来ないので、ここから会社の先輩に聞いてくださいね。
bash
1$ next dev
2sh: next: command not found
OSがコマンドを認識する仕組みとして、
環境変数PATH
に書いてあるディレクトリを見て回って
実行ファイルが存在するかしないかを探していきます。
Linuxではwhichというコマンドがあり
指定したコマンドを普通に実行したらどのPATHの実行ファイルになるだろうかを見つけて教えてくれます。
カレントディレクトリのファイル一覧を表示するls
なんかも実行ファイルがあるんですよ。
さて、sh: next: command not found
と叱られてしまいましたね。
これは「環境変数PATHを順番に探してみたけどありませんでしたよ。」
こういう趣旨のエラー文なんです。
次にNode.jsやnpmがどう環境変数PATHと付き合っているかを見ていきましょう。
Node.jsをインストールする方法は様々な方法がありますが、
最終的にnode
やnpm
のコマンドが利用可能になっているのであれば、
これら2つのコマンドは環境変数PATHの中に実行ファイルとして存在する事になります。
npmではnpm install -g パッケージ名
という風に-g
グローバルオプションを付けてインストールすると、
一部コマンドラインツールとして登録されているライブラリの場合に限り、
nodeやnpmが存在するディレクトリに実行ファイルを保存するという挙動を行います。
なのでnpm install -g next
でNext.jsをグローバルインストールすると
npmコマンドが存在するディレクトリの隣にnextという実行ファイルが生成されて、nextコマンドが利用可能になるはずです。
bash
1$ next
2Command 'next' not found
3
4$ npm install -g next
5
6$ next -v
7Next.js v10.2.3
8
9$ which npm
10/home/miyabi/.volta/bin/npm
11
12$ which next
13/home/miyabi/.volta/bin/next
こんな感じですね。
実行ファイルが生成されなかったらNode.jsのインストール方法が間違っている可能性が高いので、別途先輩に泣きつきましょう。
さて、本題は以上となりますが、
プロジェクト特有・独自の前提情報や前提機能により動作しないケースを見ていきましょう。
鍵となるのはREADME.md
とpackage.json
の2ファイルです。
余程開発初期で面倒臭がってない限り、一から環境構築をする為のREADME.md
ファイルは作っているはずです。
でなきゃ貴方のような途中で入ってくるエンジニアに懇切丁寧に教える事になってより面倒な事になりますからね。
そして、プロジェクトを動作させる為に必要なライブラリは
npm install モジュール名
で引っ張ってくる事になりますが、
そのインストールされたモジュールは全てpackage.json
のdependences
キーに記載されていきます。
つまり、これを読んでDBやAWS等の外部の何かと連携するようなモジュールが見つかった場合、
間違いなく動作しない何かの理由があるはずなんですよ。
これも共有していない先輩の過失・怠慢(というには言い過ぎだけどね)なので
気にせず質問攻めにして良いと思います。
何のモジュールを使っているかをざっと目を通して
全体像を把握するというのも出来るエンジニアの嗜みなので、
package.jsonを読んで何を使っているかを調査してノートに纏めてみてはいかがでしょう?