Node.jsアプリの環境をセットアップしようとしています。しかし、毎回このエラーが発生します。
「NODE_ENV」は、内部または外部コマンド、操作可能なコマンド、またはバッチファイルとして認識されません。
これはどういう意味で、どうすればこの問題を解決できますか?
私はWindowsを使用しset NODE_ENV=development
ていて、試しましたが、うまくいきませんでした。
このためのモジュールを書きました: win-node-env。
NODE_ENV.cmd
環境変数を設定するを作成NODE_ENV
し、残りのコマンドとその引数を使用して子プロセスを生成します。
それを(グローバルに)インストールし、npmスクリプトコマンドを実行するだけで、自動的に機能するはずです。
npm install -g win-node-env
あなたのエラーは、このようなものを実行しようとしたことから来ているようです(Linuxで動作します)
NODE_ENV=development node foo.js
Windowsで同等のものは次のようになります
SET NODE_ENV=development
node foo.js
同じコマンド シェルで実行されます。set NODE_ENV が機能しなかったと述べましたが、どのように/いつ実行したかは明確ではありませんでした。
Windows の場合&
は、コマンド間でも使用できます。お気に入り、
"scripts": {
"start": "SET NODE_ENV=development & nodemon app/app.js",
}
npm install --save-dev "cross-env"
モジュール。cross-env NODE_ENV=development node foo.js
。次に、 like を実行できますnpm run build
。私は同じ問題を抱えていて、Windowsプラットフォームで以下のコマンドを実行しました
npm install -g win-node-env
そしてすべてが正常に動作します
Windows に対応するようにスクリプトを変更するのは大変な作業です。適切な Windows の翻訳を見つけようとして、2 セットのスクリプトを維持することは、あなたの人生を生きる方法ではありません。
Windows で bash を使用するように npm を構成する方がはるかに簡単で、スクリプトはそのまま実行されます。
実行するだけnpm config set script-shell "C:\\Program Files\\Git\\bin\\bash.exe"
です。bash 実行可能ファイルへのパスがマシンに適していることを確認してください。変更を有効にするには、ターミナルの新しいインスタンスを起動する必要がある可能性があります。
以下のスクリーンショットは、その利点を示しています。
Git Bash を使用していて に問題がある場合はnpm run <script>
、
Git Bash を使用してスクリプトを実行するように npm を設定するだけです
npm config set script-shell "C:\\Program Files\\git\\bin\\bash.exe"
(インストールに応じてパスを変更してください)
そして、npm は Git Bash でスクリプトを実行するので、このような使用法NODE_ENV=
は適切に機能します。
やれば必ずうまくいく
"scripts": {
"start": "SET NODE_ENV=production && node server"
}
Windowsの場合 、 git bashを開いて試してください
NODE_ENV=production node app.js