2015-01-14 12 views
17

Yanıtlar burada process.env.NODE_ENV adında bir şeye bakın, ancak komut satırından echo $process.env.NODE_ENV çalışmadı. Herhangi bir fikir?NODE_ENV'yi komut satırından görüntülemenin bir yolu var mı?

+0

yürüterek bu işlem tarafından kullanılan çevre değişkenlerine ps aux | grep node

  • bak yürüterek çalışan sürecin kimliği bul size kabuğunda bir ortam değişkeni yazdırmak için nasıl soruyorsunuz ? Kabuk için dokümanlar danışın. – SLaks

  • +0

    @SLaks'ın dediği gibi, kabuk belgelerine danışın. Tipik bir örnek "echo $ NODE_ENV" dir fakat kabuklar –

    cevap

    1

    REPL düğümüne gidin ve process.env.NODE_ENV değerini verin ve değişken işlem, nodejs işleminin içinde, kabuk işleminizde değil, kapsamdadır.

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

    denenmiş. process.env.Undaki NODE_ENV, tanımsız olarak döner. – thetrystero

    +1

    sonra değişken ayarlanmamıştır. –

    +0

    "$ NODE_ENV = üretim düğümü uygulaması" değişkeni "üretim" olarak ayarladı mı? – thetrystero

    19

    echo $NODE_ENV kullanın. Komut satırı bir kabuk, muhtemelen bir bash ve bu bir ortam değişkeninin değerini yazdırmak için bash sözdizimi.

    +1

    bu işe yaramıyor. – thetrystero

    +0

    @thetrystero Çeşitli yorumlarınıza dayanarak, ortam değişkeni muhtemelen hiçbir yerde tanımlanmamıştır. Hangi değeri sahip olmayı bekliyorsunuz? Ne zaman ve nerede ayarlamaya çalışıyorsunuz? Ayrıca Node için varsayılan bir değişken olmadığını unutmayın ([Express'te NODE_ENV nedir?] (Http://stackoverflow.com/questions/16978256/what-is-node-env-in-express)). –

    +0

    size hiçbir şey göstermiyor çünkü değişken boş, ancak gerçekten çalışıyor. –

    1

    İşlem için NODE_ENV'yi ayarladınız mı?

    İşte bir örnek. Kodun bir yerinde, düğüm ortamını "production" veya "development" veya "any thing you want" olarak ayarlayın. Düğüm ortamınıza göre bazı şeyler yapın. Eğer NODE_ENV değişken tanımladıysanız

    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

    Evet, app.js. Uygulamayı "$ NODE_ENV = üretim düğümü uygulaması" – thetrystero

    +0

    @thetrystero kullanarak çalıştırıyorum. NODE_ENV'nizi hala yankılamıyor musunuz? – pmverma

    +0

    nope, echo hiçbir şey göstermiyor – thetrystero

    12

    sonra düğüm hücreyi açın ve sonra process.env.NODE_ENV yazacaktır komut isteminde node yazarak bunu görmek gerekir.

    mevcut env değişkenleri .. Bu tip kontrol etmek için .. process.env

    +4

    Komut satırından 'NODE_ENV = üretim düğümü uygulaması 'çalıştırdım, bu yüzden üretim doğru ayarlanmış mı? Daha sonra, yukarıdaki komutu çalıştırdığım aynı dizindeki başka bir terminal penceresinde REPL düğümünü girip 'process.env.NODE_ENV' yazıp undefined değerini döndürürüm. – thetrystero

    +2

    @thetrystero Aynı sorun var – lux

    2

    pencerelerde akım düğüm ortamını görüntülemek için kullanım: gibi komut satırında

    > echo %NODE_ENV% 
    

    O wil çıkış ortamı:

    development 
    
    +6

    Benim için "% NODE_ENV%" yazdırır – Pumych

    +0

    Env ilk ayarladığınızda bunu bulmanıza yardımcı olur. Sonraki yankıla. diğer bilge aynı mesajı görüntüler% NODE_ENV% Şunu deneyin: - set NODE_ENV = prodüksiyon ve sonra Yankı göreceksiniz env'yi göreceksiniz – Prasad

    +0

    @Pumych $ NODE_ENV deneyin – AntonIva

    1

    ayar noktalarının adım pencere CMD NODE_ENV:

    1. grubu NODE_ENV = my_node_env (NODE_ENV tanımlar)

    2. düğüm (çalışma düğüm)

    3. process.env.NODE_ENV (göstermek NODE_ENV)

    "NODE_ENV'yi ayarladıktan" sonra uygulamayı çalıştırabilirsiniz ve set NODE_ENV kullanır. Uygulamanızı, pm2 numaralı özel ortamda sorunsuz çalıştırabilirsiniz.

    İlgili konular