Saya menginstal node dan npm menggunakan instruksi yang disediakan di sini
Saya berhasil menggunakan simpul. Namun, ketika saya mencoba untuk menginstal modul node "Formidable", saya mendapatkan kesalahan berikut:
$npm install formidable
bash: /usr/local/bin/npm: /usr/local/bin/node: bad interpreter: No such file or directory
Ketika saya melakukan which npm
saya mendapatkan output berikut:
$which npm
/usr/local/bin/npm
Saya tidak tahu apa yang salah dengan npm di sini - ada ide bagaimana saya bisa memperbaikinya?
/usr/local/bin/
. Paket-paket yang Anda gunakan dalam instruksi yang Anda tautkan tidak melakukan hal ini. Saya pikir Anda telah menginstal Node lain dari sumber juga. Tolong ceritakan seluruh cerita.$sudo apt-get remove --purge nodejs npm
tetapi ini tidak berhasil.node --version
setelah menginstal 0.8.18 masih menunjukkan 0.8.14. Jadi, apa yang saya lakukan adalah mengikuti posting yang tidak dapat saya temukan sekarang - itu pada dasarnya diinstruksikan untukwhich node
diikuti olehrm -r /usr/local/bin/...
- pada dasarnya beberapa file terkait node di bawah direktori itu. Sekarang, setelah ini, saya menginstal ulang node dan itu adalah versi yang diperbarui. Ini bekerja dengan baik, tetapi npm tidak.Jawaban:
Mengambil petunjuk @gertvdijk, saya menghapus NPM menggunakan skrip:
(yang dapat ditemukan di sini )
Bahkan setelah melakukan hal di atas, saya mendapat kesalahan lain:
Jadi, saya berlari
hash -r
di terminal (sesuai instruksi yang ditemukan di bawah NPM Won't Run After Upgrade ) dan voila - itu berhasil. NPM sekarang berfungsi!sumber
hash
, yang dapat dengan mudah digunakan untuk menunjuk ke node / npm lain (bagaimana jika saya ingin bekerja dengan lebih dari satu versi node?)hash
fungsinya !?Ubuntu dan beberapa distribusi Linux menginstal penerjemah simpul sebagai
/usr/bin/nodejs
, dan bukan/usr/local/bin/node
.Anda dapat mengatasi masalah ini dengan menginstal
nodejs-legacy
paket yang membuat symlink dari/usr/bin/nodejs
ke/usr/bin/node
.Larutan:
Referensi: paket nodejs-legacy
sumber
nodejs-legacy
tidak ada lagi.Tampaknya Anda telah menginstal versi Node lain dari sumber beberapa waktu sebelumnya. Ini ditunjukkan oleh
/usr/local/bin
jalur tempat tampaknya diinstal sekarang.which npm
sekarang daftar/usr/bin
sebagai jalur instalasi.Secara umum Anda tidak perlu menginstal paket dari sumber. Dan jika Anda melakukannya, perlu diketahui konsekuensinya karena Anda mengesampingkan manajemen paket di sini dan itu akan menjadi bingung karenanya.
sumber