Sonsuza dek düğüm / usr / bin / env: düğüm: Böyle bir dosya veya dizin yok


108

Kullanarak nodej'leri kurdum:

apt-get install nodejs

Sonra şunu kullanarak npm kurdum:

apt-get install npm

Ve sonra şunu kullanarak sonsuza kadar yükledim:

npm install forever -g

Şimdi projeme gidiyorum /var/www/myproject

ve koşmayı dene forever start server.js

sonra aşağıdaki mesajı alıyorum:

/usr/bin/env: node: No such file or directory

Biri bana neler olduğunu söyleyebilir mi?



1
Bu hatayı alıyorum ve Düğüm Sürüm Yöneticisi kullanıyorum.
munchschair

Yanıtlar:


270

DÜZENLEME: Aralık 2018 itibariyle, bu artık doğru yol değil. Diğer iki yanıta bakın.

Çalıştırılabilir nodej'leri düğüme sembolik bağlamanız gerekir sudo ln -s "$(which nodejs)" /usr/local/bin/nodeBunun nedeni, "apt-get install node" yaptığınızda, ilgisiz bir paket kurmasıdır , bu nedenle çakışmaması için farklı bir ad seçmeleri gerekir.


4
$ nedir (hangi nodejs) "kopyalayıp yapıştırmam gereken bir şeyi yapıştırdığınız kod mu?
Marc Rasmussen

11
"$ (hangi nodejs)" nodejs yürütülebilir dosyasının yolunu alır. "$ ()" İçine bir şey koyduğunuzda, çalıştırılır ve ardından içeren komuta eklenir
chedabob

2
@chedabob Aynı problemle karşılaştım ama o sırada komutunuzu çalıştırdığımda henüz çözemedim ln: sembolik bağlantı oluşturulamadı '/ usr / bin / node': Dosya var
DASADIYA CHAITANYA

@ dasadiya-chaitanya Bu durumda, aşağıdakini çalıştırarak mevcut dosyanın yürütülebilir bir doğru düğüme işaret ettiğinden emin olun. ls -lart / usr / bin / düğüm. Sembolik bağlantı doğru ikiliyi göstermiyorsa, bu durumda silin. Ve aşağıdakileri yeniden çalıştırın: sudo ln -s "$ (hangi nodejs)" / usr / bin / node
brownmamba

4
Debian ve Ubuntu'da, nodejs-legacysembolik bağlantıyı sağlayan bir paket vardır . Bunu manuel olarak yapmaman gerekiyor. apt-get install nodejs-legacysorunu çözmenin doğru yolu, aşağıdaki cevabıma bakın.
Clément Schreiner

45

Kabul edilen cevap sorunu çözerken , bunu yapmanın doğru yolu, en azından Debian Jessie ve forward ve Ubuntu 14.4 ve forward 1 ile nodejs-legacy'yi kurmaktır :

apt-get install nodejs-legacy

Bunun nedeni, Debian'ın halihazırda / usr / bin / node sağlayan bir pakete (düğüme) sahip olması ve nodejs düğümü ikilisinin / usr / bin / nodejs'ye yüklenmesi gerekmesidir.

Nodejs-legacy paketi / usr / bin / nodejs için / usr / bin / düğüm (ve ile çatışmalardan sembolik bir bağlantı sağlar düğüm paketinde).

Kaynak: [CTTE # 614907] Düğüm / nodejs çakışmasının çözümü ve Debian hatası # 614907: düğüm: node.js yorumlayıcısıyla ad çakışması


Bu, işletim sistemine aşina olmayanlar için harika bir bağlam olan Debian / Ubuntu + 1'de doğru yoldur.
Ligemer

18

En son düğüm sürümüne güncellemeniz daha iyidir

  1. sudo npm önbellek temizleme -f
  2. sudo npm yükleme -gn
  3. sudo n kararlı
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.