339

Node.jsアプリの環境をセットアップしようとしています。しかし、毎回このエラーが発生します。

「NODE_ENV」は、内部または外部コマンド、操作可能なコマンド、またはバッチファイルとして認識されません。

これはどういう意味で、どうすればこの問題を解決できますか?

私はWindowsを使用しset NODE_ENV=developmentていて、試しましたが、うまくいきませんでした。

4

23 に答える 23

449

このためのモジュールを書きました: win-node-env

NODE_ENV.cmd環境変数を設定するを作成NODE_ENVし、残りのコマンドとその引数を使用して子プロセスを生成します。

それを(グローバルに)インストールし、npmスクリプトコマンドを実行するだけで、自動的に機能するはずです。

npm install -g win-node-env
于 2016-12-05T05:29:41.600 に答える
374

あなたのエラーは、このようなものを実行しようとしたことから来ているようです(Linuxで動作します)

NODE_ENV=development node foo.js

Windowsで同等のものは次のようになります

SET NODE_ENV=development
node foo.js

同じコマンド シェルで実行されます。set NODE_ENV が機能しなかったと述べましたが、どのように/いつ実行したかは明確ではありませんでした。

于 2012-08-13T04:27:47.760 に答える
236

Windows の場合&は、コマンド間でも使用できます。お気に入り、

  "scripts": {
    "start": "SET NODE_ENV=development & nodemon app/app.js",
  }
于 2015-11-17T11:11:02.870 に答える
160
  1. npm install --save-dev "cross-env"モジュール。
  2. のようにコードを変更しますcross-env NODE_ENV=development node foo.js。次に、 like を実行できますnpm run build
于 2016-05-10T06:56:15.850 に答える
38

私は同じ問題を抱えていて、Windowsプラットフォームで以下のコマンドを実行しました

npm install -g win-node-env

そしてすべてが正常に動作します

于 2020-10-30T12:40:47.840 に答える
30

Windows に対応するようにスクリプトを変更するのは大変な作業です。適切な Windows の翻訳を見つけようとして、2 セットのスクリプトを維持することは、あなたの人生を生きる方法ではありません。

Windows で bash を使用するように npm を構成する方がはるかに簡単で、スクリプトはそのまま実行されます。

実行するだけnpm config set script-shell "C:\\Program Files\\Git\\bin\\bash.exe"です。bash 実行可能ファイルへのパスがマシンに適していることを確認してください。変更を有効にするには、ターミナルの新しいインスタンスを起動する必要がある可能性があります。

以下のスクリーンショットは、その利点を示しています。

  1. npm エラー! 最初にスクリプトを実行しようとしたとき。
  2. Windows 用に変更されたスクリプトは実行されますが、戻りメッセージは表示されません。
  3. npm config を更新して bash を使用すると、スクリプトが実行され、適切なメッセージが返されます。

npm スクリプトを Windows でそのまま実行する

于 2019-05-25T15:36:13.523 に答える
13

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=は適切に機能します。

于 2019-04-11T19:09:04.093 に答える
7

やれば必ずうまくいく

"scripts": {
    "start": "SET NODE_ENV=production && node server"
}
于 2020-07-29T16:58:55.190 に答える
3

Windowsの場合 、 git bashを開いて試してください

NODE_ENV=production node app.js

于 2018-11-27T12:07:30.737 に答える