Node.jsアプリの環境をセットアップしようとしています。しかし、私は毎回このエラーを受け取っています。
「NODE_ENV」は、内部または外部コマンド、操作可能なコマンド、またはバッチファイルとして認識されません。
これは何を意味し、どのようにこの問題を解決できますか?
私はWindowsを使用していますが、set NODE_ENV=development
も試しましたが、運がありませんでした。
あなたのエラーは、このようなものを実行しようとしたことから来ているようです(Linuxで動作します)
NODE_ENV=development node foo.js
windowsで同等のものは
SET NODE_ENV=development
node foo.js
同じコマンドシェルで実行します。 NODE_ENVの設定は機能しなかったと述べましたが、どのように/いつ実行したかは明確ではありませんでした。
このためのモジュールを作成しました: win-node-env 。
NODE_ENV.cmd
環境変数を設定するNODE_ENV
を作成し、残りのコマンドとその引数と共に子プロセスを生成します。
(グローバルに)インストールし、npmスクリプトコマンドを実行するだけで、自動的に機能するはずです。
npm install -g win-node-env
windowsの場合は、コマンド間でも&
を使用します。好む、
"scripts": {
"start": "SET NODE_ENV=development & nodemon app/app.js",
}
npm install "cross-env"
モジュール。cross-env NODE_ENV=development node foo.js
として変更します。それからnpm run build
のように実行できます。win-node-env を使用します。使用するには、cmd
またはpower Shell
またはgit bash
で次のコマンドを実行します。
npm install -g win-node-env
その後、すべてがLinuxのようになります。
set NODE_ENV=production & nodemon app/app.js
nODE_ENVの最後にスペースが含まれます。
process.env.NODE_ENV == 'production'; //false
process.env.NODE_ENV == 'production '; //true
コメント here で述べたように、代わりにこれを使用してください:
NODE_ENV=production&& nodemon app/app.js
npm install -S cross-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=
などの使用法は適切に機能します。
エラーの解決策を見つけようとしている私のような誰かがここに来た場合:
'env' is not recognized as an internal or external command
これを取得した理由は、angularソリューションをMac開発マシンからWindows 10デスクトップに移行していたためです。これは私がそれを解決した方法です。
npm install --save-dev cross-env
を実行します
package.jsonファイルに移動して、すべてのスクリプト参照をenv <whatever>
からcross-env <whatever>
に変更します
次に、次のようなコマンドを実行します:npm run start:some_random_environment_var
がWindows 10で正常に実行されるようになりました。
そこまでの答えのほとんどは私を助けませんでした。
私を助けたのはNODE_ENV=production&& nodemon app/app.js
でした
スペースに注意してください。幸運を。
Windowsの場合git bashを開くを試してください
NODE_ENV=production node app.js