違いは何であるnpm install
とはnpm run build
?
私のプロジェクトで、npm npm install
が実行されると失敗することがありますが、実行するnpm run build
と問題なく動作することに気づきました。
どのようにこれら二つのターゲットの内部の仕組み、すなわちんinstall
とrun build
異なりますか?
違いは何であるnpm install
とはnpm run build
?
私のプロジェクトで、npm npm install
が実行されると失敗することがありますが、実行するnpm run build
と問題なく動作することに気づきました。
どのようにこれら二つのターゲットの内部の仕組み、すなわちんinstall
とrun build
異なりますか?
回答:
npm install
node_modules/
作業中のノードプロジェクトの依存関係をディレクトリにインストールします。install
別のnode.jsプロジェクト(モジュール)を呼び出して、プロジェクトの依存関係としてインストールできます。
npm run build
はのエイリアスでありnpm build
、package.jsonファイルで「ビルド」の動作を指定しない限り、何も実行されません。別のプロジェクトで使用する前に、プロジェクトに必要なビルド/準備タスクを実行できます。
build
buildのドキュメントによると、link
とinstall
コマンドによって呼び出されます:
これは、npm linkとnpm installによって呼び出されるplumbコマンドです。
npm run build
てnpm build
いるのと同じではないので反対票を投じました。彼らが本当に同じであるか、あなたの答えを正していることを証明できれば、私は再び賛成票を投じます。
npm build
とnpm run build
、同じではないと思います。私見、多分@churroからの上の答えは修正する必要があります。私が間違っていたら訂正してください。 stackoverflow.com/questions/29939697/...
npm build
もはや存在しない。npm run build
今すぐ電話しなければなりません。以下の詳細情報。
npm install
:依存関係をインストールしてinstall
から、package.json
scripts
フィールドからを呼び出します。
npm run build
:フィールドからビルドフィールドを実行しpackage.json
scripts
ます。
https://docs.npmjs.com/misc/scripts
npm package.json
スクリプトフィールドに入力できるものはたくさんあります。上記のドキュメントリンクをチェックして、スクリプトのライフサイクルの上にあるものを確認してください。ほとんどの場合、インストール、公開、アンインストール、テスト、開始、停止、シュリンクラップ、バージョンの前後にスクリプトを実行できる事前フックと事後フックがあります。
npm install
と同じではありません npm run install
npm install
package.json
依存関係をインストールしてから、package.json
scripts.install
npm run install
依存関係がインストールされた後に本質的に呼び出します。npm run install
を実行するだけでpackage.json
scripts.install
、依存関係はインストールされません。npm build
以前は有効なコマンドnpm run build
でした(以前はと同じでした)が、現在はそうではありません。現在は内部コマンドです。実行すると、次のようになります。npm WARN build npm build called with no arguments. Did you mean to npm run-script build?
詳細については、ドキュメントをご覧ください。https://docs.npmjs.com/cli/buildnpm build
もう存在しないと言うのは混乱します。それはあなたが一番下で述べた警告に反応するので、それはそれがnpmに知られている/特別であるという意味でまだ存在します。本質的には今は何もしません。別の質問に対するこの回答は、npm build
vs に関する最短の要約npm run build
です。
主な違いは::
npm installは、事前定義された処理を実行するnpm cliコマンドです。つまり、Churroによって記述されたように、package.json内で指定された依存関係をインストールします。
npm run command-nameまたはnpm run-script command-name(例: npm run build)も、「command-name」の代わりに指定された名前でカスタムスクリプトを実行するために事前定義されたcliコマンドです。したがって、この場合、npm run buildは「build」という名前のカスタムスクリプトコマンドであり、その中で指定されたすべてを実行します(たとえば、以下のpackage.jsonの例で提供されているecho 'hello world')。
注意すべきPonit ::
1)もう1つ、npm build
そしてnpm run build
2つの異なることnpm build
はChurroによって書かれたnpm run build
ように行いますが、内部で書かれたカスタム作業を行いますpackage.json
2)そしてnpm build
、npm run build
同じではありません。つまり、カスタムビルド(npm run build
)スクリプト内で何かを指定npm build
して同じことを期待することはできません。次のことを確認してみてくださいpackage.json
:
{
"name": "demo",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"build":"echo 'hello build'"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {},
"dependencies": {}
}
そしてnpm run build
、npm build
1つずつ実行すると、違いがわかります。コマンドの詳細については、npmのドキュメントを参考にしてください。
乾杯!!
npm run build
してnpm build
。わかりましたので、どのように同じではありませんか?それで@Churroの答えは間違っていますか?
npm build
が謎のままなのでしょう。それを知っておくといいでしょう。私の知る限り、「npm build
チュロの書いた通りにやる」というのは正しくありません。Churroはpackage.json
、build
コマンドで指定されていることを実行すると述べた(scripts
私が想定するセクションで定義されているとおり)。しかしnpm run build
、それnpm build
はそうであり、package.json
scripts
セクションで指定されたビルドコマンドを実行しません。で何をnpm build
すべきかを定義する他の方法がない限りpackage.json
、ここでは説明されていませんし、Churroによっても(NPMのドキュメントでは、悲しいことに)説明されていません。
npm build
れたと言いました。もしかして?。何もしなかったと思います。ここにすべての答えを読むために時間を費やして、これを自分でしようとした後、私はまだの目的何言うことができない:(。npm build
npm run-script build
npm build
npm install
package.json設定に依存関係をインストールします。npm run build
スクリプト「build」を実行し、アプリケーションを実行するスクリプトを作成します-server.jsとしましょうnpm start
「ノードserver.js」になる「開始」スクリプトを実行します問題が何であるかを正確に伝えることは困難ですが、基本的にスクリプト構成を見ると、「開始」はビルドが完了していると想定しながら「ビルド」はある種のビルドツールを使用してアプリケーションを作成していると思いますが、ファイルはありません。
bowerまたはgruntを使用している可能性があります-典型的なgruntアプリケーションがこれらのスクリプトと最後のビルドを削除する「クリーン」スクリプトを定義していることを覚えているようです。
ビルドツールは、bin /、dist /、またはbuild /フォルダーにファイルを作成する傾向があり、開始スクリプトが呼び出す-たとえば「node build / server.js」。あなたnpm start
が失敗したとき、それはおそらくあなたがnpm clean
最新のビルドを削除するためにあなたが呼ばれたか類似しているのでアプリケーションファイルが存在せず、npm startが失敗する原因です。
npm buildのソースコード(この質問での議論に触れるため)は、githubにあり、必要に応じて確認できます。あなたが実行している場合はnpm build
、直接、あなたが定義した「ビルド」スクリプトを持って、それはとしてビルドスクリプトを呼び出すためにあなたを求めエラーで終了しますnpm run-script build
、それは同じではありませんのでnpm run script
。
何npm build
ができるのかはよくわかりませんが、依存関係のポストインストールとパッケージ化スクリプトに関連しているようです。これにより、依存関係に必要なCLIビルドスクリプトまたはネイティブライブラリが、パッケージのダウンロード後に特定の環境用にビルドされることが確実になると思います。これが、リンクとインストールがこのスクリプトを呼び出す理由です。