2017-07-28 10 views
0

node_moduleフォルダにすべての依存関係が既にある場合は、なぜ 'npm install'を実行する必要がありますか?node_moduleフォルダにすべての依存関係が既にある場合、 'npm install'を実行する必要があるのはなぜですか?

私のマシンで 'npm install'を実行した後、別のマシンで同じプロジェクトをセットアップしたいのですが、node_moduleフォルダ内のすべての依存関係を既にダウンロードしてしまった場合、なぜnpm installを再度実行する必要がありますか?

+0

「まさに他のマシンに自分のコードを渡す」とは何か?コマンドを実行しないとどうなりますか? – cartant

+0

別のマシンで同じプロジェクトをセットアップしたいです。私は別のマシン上の完全なプロジェクトフォルダをコピーします..私も質問を編集しています。 –

+0

いいえ、私の場合毎回、このコマンドを実行する必要があります。入力ミスのため申し訳ありませんが、ノードモジュールはnode_moduleと同じです。私も質問を編集しています。 –

答えて

1

npm installすべての依存関係をpackage.jsonから抽出し、ダウンロードしてnode_modulesフォルダに保存します。すべての依存関係をローカルにインストールしている場合は、npm installを何度も実行する必要はありません。

初めて新しい依存関係をインストールすると、npm install <package-name> --saveを実行して初めて--saveと表示されますか?あなたのpackage.jsonに新たにインストールされた依存関係が追加されるからです。 node_modulesをgit repoにプッシュすることはありません。更新されたpackage.jsonだけがrepoにプッシュされます。その場合、新しい人物がリポジトリからコードを取得した場合、彼はnpm installを実行するだけで、package.jsonに記載されているすべての依存関係は、彼のプロジェクトでローカルで利用可能になります。それはなぜ私たちがpackage.jsonを使うのが役に立ったのかについての小さな紹介です。

+0

問題は彼が問題に直面しているよりもnode_moduleを押すかどうかです。 –

+0

Himanshuが正しいです、我々はnode_moduleのすべての依存関係を持っています、今、新しい人は依然としてコマンドを実行する必要があります。どうして? –

+0

package.jsonに記載されているすべての依存関係がマシン上でローカルに利用できる場合は、npm installを再度実行する必要はありません。また、 'npm install'を実行すると、どのパッケージが追加されたかがわかります。また、すべてのパッケージがすでに利用可能である場合は、' xxsで最新の情報が表示されます。 –

0

両方のシステムのノードのバージョンを確認してください。
私はそれが問題になると思います。ローカルシステムはサーバーよりも高いバージョンを持つことになります。
上位バージョン用にコンパイルできないことがあります。両方のノードでバージョンが同じであることを確認して、競合を減らしてください。

+0

ノードパッケージとは別に何かをチェックする必要がありますか? –

+0

はいノードのバージョンを確認します。 –

1

私はあなたに2つのことを知らせたいまず第一に:あなたのプロジェクトとして

  • は、いくつかのパッケージ(node_modules)に依存していくつかのパッケージと同じは他のパッケージに依存しています。
  • コマンドnpm install package -gでいくつかのパッケージをインストールすると、-gはどのプロジェクトからでもアクセスできるグローバルフォルダにインストールします。 -gを使用すると、packageはnode_modulesに追加されません。

ここにあなたの問題の答えがあります。パッケージのいくつかの依存関係は、あるマシンではグローバルとしてインストールされ、他のマシンではインストールされない可能性があります。これは、開発者が同じマシン上の多くのプロジェクトで作業し、グローバルパッケージをインストールしている可能性があります。したがって、この場合はnpm installコマンドを実行する必要があります。

+0

この問題の解決方法は何ですか? –

+0

'package.json'ファイルだけを共有することをお勧めします。 'node_modules'フォルダは共有できません。次の人やマシンは 'package.json'を使って必要に応じてパッケージをインストールします。 –

+0

' npm update'コマンドも使用できます。これによりパッケージの依存関係やバージョンなどが更新されます –

関連する問題