npm install
npm script から呼び出そうとしていますが、 をそのように設定NODE_ENV
しても devDependencies はインストールされませんdevelopment
:
{
"name": "test",
"version": "1.0.0",
"private": true,
"scripts": {
"deploy": "NODE_ENV=development npm i"
},
"devDependencies": {
...
}
}
このように、実行時に依存関係のみがインストールされnpm run deploy
、devDependencies はインストールされません。これは設計によるものですか?
もう少し情報を提供するためNODE_ENV
に、マシンの は に設定されてproduction
おり、そのままにしておく必要があります。1 つのスクリプト行だけに環境変数を設定したいのですが、それは通常、他のスクリプトでも機能します。行はNODE_ENV
正しく設定され、インストーラーは実行されますが、環境変数が考慮されていません-スクリプトからの呼び出しは、フラグが設定さnpm install
れているかのように常に実行されるようです。--production
そのため、シェルからこの行を実行するNODE_ENV=development npm i
と、devDependencies と依存関係がインストールされます (この 1 つのコマンドのためだけに、マシンに設定されている NODE_ENV 変数が上書きされます) が、package.json スクリプト ブロックで同じ行を実行すると、NODE_ENV の上書きが無視されます。
--production
devDependencies もインストールしたいので、フラグは役に立ちません。- また、私がそれを正しく読んだ場合、devのみまたは
--only[prod|dev]
prodの依存関係のみをインストールするため、私が望むこともしません。
次の行は、マシンに設定されている場合でも、環境変数としてpackage.json
正しく出力されます。development
production
"scripts": {
"envTest": "NODE_ENV=development node -e 'console.log(process.env.NODE_ENV);'"
}
ありがとう