Node forever / usr / bin / env: node: Tidak ada file atau direktori seperti itu


108

Saya telah menginstal nodejs menggunakan:

apt-get install nodejs

Kemudian saya telah menginstal npm menggunakan:

apt-get install npm

Dan kemudian saya telah menginstal selamanya menggunakan:

npm install forever -g

Sekarang saya pergi ke proyek saya /var/www/myproject

dan mencoba lari forever start server.js

kemudian saya mendapatkan pesan berikut:

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

Adakah yang bisa memberi tahu saya apa yang sedang terjadi?



1
Saya mendapatkan bug ini dan saya menggunakan Node Version Manager.
— kursi munchschair

Jawaban:


270

EDIT: Mulai Desember 2018, ini bukan lagi cara yang benar. Lihat dua jawaban lainnya.

Anda perlu menghubungkan nodejs yang dapat dieksekusi ke node sudo ln -s "$(which nodejs)" /usr/local/bin/node. Alasannya adalah bahwa ketika Anda melakukan "apt-get install node", itu menginstal paket yang tidak terkait, jadi mereka harus memilih nama yang berbeda sehingga tidak akan konflik


4
what is $ (which nodejs) "adalah kode yang Anda tempelkan sesuatu yang harus saya salin atau tempel?
— Marc Rasmussen

11
"$ (which nodejs)" mendapatkan jalur dari nodejs yang dapat dieksekusi. Ketika Anda meletakkan sesuatu di dalam "$ ()" itu akan dieksekusi dan kemudian dimasukkan ke dalam perintah yang mengandung
— chedabob

2
@chedabob Saya telah menghadapi masalah yang sama tetapi saya belum diselesaikan itu ketika saya menjalankan perintah Anda pada waktu itu saya mendapat ln yang: gagal untuk membuat link simbolik '/ usr / bin / node': Berkas ada
— DASADIYA Chaitanya

@ dasadiya-chaitanya Dalam hal ini, pastikan bahwa file yang ada mengarah ke node yang benar yang dapat dieksekusi dengan menjalankan perintah berikut. ls -lart / usr / bin / node. Jika symlink tidak menunjuk ke biner yang benar, maka hapuslah. Dan jalankan kembali perintah berikut: sudo ln -s "$ (which nodejs)" / usr / bin / node
— brownmamba

4
Di Debian dan Ubuntu, ada paket yang nodejs-legacymenyediakan tautan simbolik. Anda tidak seharusnya melakukannya secara manual. apt-get install nodejs-legacyadalah cara yang benar untuk memperbaiki masalah tersebut, lihat jawaban saya di bawah ini.
— Clément Schreiner

45

Sementara jawaban yang diterima memperbaiki masalah, cara yang benar untuk melakukannya, setidaknya dengan Debian Jessie dan meneruskan dan Ubuntu 14.4 dan meneruskan 1 adalah menginstal nodejs-legacy :

apt-get install nodejs-legacy

Alasannya adalah Debian sudah memiliki paket (node) yang menyediakan / usr / bin / node , dan biner node nodejs harus diinstal ke / usr / bin / nodejs.

Paket nodejs-legacy menyediakan tautan simbolis dari / usr / bin / nodejs ke / usr / bin / node (dan konflik dengan paket node ).

Sumber: [CTTE # 614907] Resolusi konflik node / nodejs dan bug Debian # 614907: node: nama konflik dengan interpreter node.js


Ini adalah cara yang benar di Debian / Ubuntu +1, konteks yang bagus untuk mereka yang tidak terbiasa dengan OS.
— Ligemer

18

Lebih baik jika Anda memperbarui ke versi node terbaru

  1. sudo npm cache clean -f
  2. sudo npm install -gn
  3. sudo n stabil
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.