2015-01-14 10 views
17

ここでの回答はすべてprocess.env.NODE_ENVと呼ばれるものですが、コマンドラインからecho $process.env.NODE_ENVが機能しませんでした。何か案は?コマンドラインからNODE_ENVを表示する方法はありますか?

+0

を実行することによって、あなたがそのプロセスによって使用される環境変数でps aux | grep node

  • ルックを実行することで動作しているプロセスのIDを検索するには、あなたのシェルで環境変数を印刷する方法を求めています?シェルのドキュメントを参照してください。 – SLaks

  • +0

    @SLaksによれば、シェルのドキュメントを参照してください。典型的な例は "echo $ NODE_ENV"ですが、シェルは –

    答えて

    1

    ノードREPLに移動し、process.env.NODE_ENVを指定し、変数プロセスはシェルプロセス内ではなくnodejsプロセス内にスコープします。

    [email protected]:~/src$ node 
    > process.env. 
    
    +1

    で試しています。 process.env。replのNODE_ENVは未定義を返します。 – thetrystero

    +1

    変数が設定されていません。 –

    +0

    '$ NODE_ENV = production node app'として実行しないと、変数が' production'に設定されますか? – thetrystero

    19

    echo $NODE_ENVを使用してください。コマンドラインはシェルであり、おそらくbashであり、これは環境変数の値を表示するbash構文です。

    +1

    これは動作しません。 – thetrystero

    +0

    @thetrysteroさまざまなコメントに基づいて、おそらく環境変数はどこにも定義されていません。どのような価値を期待していますか?いつどこで設定しようとしていますか?また、Node([ExpressではNODE_ENVとは何ですか?](http://stackoverflow.com/questions/16978256/what-is-node-env-in-express))のデフォルト変数ではありません。 –

    +0

    変数が空であるため何も表示されませんが、実際には機能します。 –

    1

    処理のためにNODE_ENVを設定しましたか?

    ここにいくつかの例があります。 コードのどこかで、ノード環境を"production"または"development"または"any thing you want"に設定します。 あなたのノード環境に応じていくつかのことをしてください。

    process.env.NODE_ENV="production"; 
    
    //others coding 
    if(process.env.NODE_ENV === "production") 
    { 
        //useblabla log level. 
        //use production log. 
    } 
    else if(process.env.NODE_ENV === "development") 
    { 
        //useblabla log level. 
        //use development log. 
    
    } 
    console.log(process.env.NODE_ENV); //"production" 
    
    +0

    はい、私はこれらのif文を私のapp.jsに持っています。私は '$ NODE_ENV = production node app'を使ってアプリケーションを実行しています – thetrystero

    +0

    @thetrysteroそれではまだNODE_ENVをエコーできませんか? – pmverma

    +0

    いいえ、エコーは何も表示されません – thetrystero

    12

    あなたは、あなたがノードのセルを開き、process.env.NODE_ENVを入力しますコマンドプロンプトでnodeを入力して、これを見ることができるはずNODE_ENV変数を定義した場合。 Windowsで使用を現在のノードの環境を表示するには... process.env

    +4

    コマンドラインから 'NODE_ENV = production node app'を実行しましたので、これを本番に正しく設定する必要がありますか?私は上記のコマンドを実行した同じディレクトリ内の別のターミナルウィンドウで、私はノードREPLを入力し、 'process.env.NODE_ENV'と打ちますが、undefinedを返します。 – thetrystero

    +2

    @thetrystero私は同じ問題を抱えています – lux

    2

    これを入力する...既存のenv変数を確認するには

    > echo %NODE_ENV% 
    

    それはウィル出力のようなコマンドラインで環境:

    development 
    
    +6

    私には "%NODE_ENV%"という文字が表示されます – Pumych

    +0

    これは、envを最初に設定するときに役立ちます。次に、それをエコーし​​ます。それ以外の場合は同じメッセージを表示します%NODE_ENV%このようにしてください: - NODE_ENV = productionを設定し、次にそれをエコー表示しますenv – Prasad

    +0

    @PUMych try $ NODE_ENV – AntonIva

    1

    SETP・バイ・ステップの窓CMD NODE_ENV:

    1. セットNODE_ENV = my_node_env(NODE_ENVを定義)

    2. ノード(ラン・ノード)

    3. process.env.NODE_ENV(表示NODE_ENV)

    "set NODE_ENV"の後、アプリケーションを実行することができ、セットNODE_ENVを使用します。 pm2のカスタム環境でアプリケーションを問題なく実行できます。

    関連する問題