Saya mencoba meningkatkan ke versi terbaru dari node. Saya mengikuti instruksi di http://davidwalsh.name/upgrade-nodejs
Tetapi ketika saya melakukannya:
sudo npm install -g n
Saya mendapatkan kesalahan:
sudo: npm: command not found
npm bekerja tanpa sudo. Ketika saya melakukannya:
whereis node
Saya melihat:
node: /usr/bin/node /usr/lib/node /usr/bin/X11/node /usr/local/node
Berlari:
which npm
Menunjukkan:
/usr/local/node/bin/npm
Saya mencoba solusinya di https://stackoverflow.com/a/5062718/1246159
Tapi saya masih mendapatkan kesalahan yang sama. Saya juga melihat file / etc / sudoers dan baris yang relevan adalah:
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
Ini terlihat baik bagi saya. Bagaimana saya bisa membuat NPM bekerja dengan perintah sudo?
sudo /usr/bin/npm install -g n
/usr/local/node/bin
ke Anda$PATH
, tetapinpm
harus diinstal dalam/usr/local/bin
. Direktori pertama tidaksecure_path
menjelaskan mengapasudo
tidak dapat menemukannya.nvm
Ubuntu di sini - dengan komentar @robertklep, saya mencobasudo /home/${user}/.nvm/version/node/${version}/bin/npm install
dan berhasil.Jawaban:
File npm harus dalam
/usr/local/bin/npm
. Jika tidak ada, instal node.js lagi dengan paket di situs web mereka . Ini berhasil dalam kasus saya.sumber
saya harus melakukan
itu berhasil untuk saya.
sumber
npm
sudah diinstal tetapi tidak dapat dijangkau ketika dipanggil melalui sudo. Dengan solusi ini Anda menginstal ulang npm yang sudah ada. Ini melawan gejala daripada mencari penyebabnya. Saya mengerti bahwa ini mungkin memperbaiki hal-hal yang rusak untuk beberapa orang, tetapi itu menyesatkan, berdiri seperti ini.sudo apt-get install npm
bekerja untukku.Untuk pengguna MAC, langkah-langkah ikuti berhasil untuk saya.
sumber
brew uninstall node
tidak bekerja untuk saya, tetapi saya melanjutkan denganbrew install node
danbrew postinstall
dan itu memperbaiki masalah. Terima kasihbrew postinstall
dilakukan sebenarnya?brew postinstall
berlebihanSaya memiliki masalah yang sama; berikut adalah perintah untuk memperbaikinya:
sudo ln -s /usr/local/bin/node /usr/bin/node
sudo ln -s /usr/local/lib/node /usr/lib/node
sudo ln -s /usr/local/bin/npm /usr/bin/npm
sudo ln -s /usr/local/bin/node-waf /usr/bin/node-waf
sumber
%HOME%/.nvm/versions/node/v7.4.0/bin/npm
). Sayangnya saya harus referensi jawaban ini setiap kali saya memperbarui menggunakan NVM karena bagaimana versi di jalan akan berubahsudo ln -s $(whereis node) /usr/bin/node
Dan sebagainya. di profil bash Anda.PERINGATAN (edit)
Melakukan sebuah
chmod 777
solusi yang cukup radikal. Coba ini dulu, satu per satu, dan berhenti ketika satu bekerja:$ sudo chmod -R 777 /usr/local/lib/node_modules/npm
$ sudo chmod -R 777 /usr/local/lib/node_modules
$ sudo chmod g+w /usr/local/lib
$ sudo chmod g+rwx /usr/local/lib
$ brew postinstall node
adalah satu-satunya bagian instal di mana saya akan mendapatkan masalahJadi saya
dan viola, npm sekarang terhubung
Tambahan
Jika Anda digunakan
-R 777
pada lib rekomendasi saya akan mengatur file bersarang dan direktori ke pengaturan default:find /usr/local/lib -type f -print -exec chmod 644 {} \;
find /usr/local/lib -type d -print -exec chmod 755 {} \;
chmod /usr/local/lib 755
sumber
chmod
seharusnya menjadi direktori ini?drwxr-xr-x
adalah default untuk lib. Karena itu, JANGAN gunakan fitur rekursif-R
saat mengatur folder kembali.Saya harus melakukan hal berikut:
brew update
brew uninstall node
sumber
Untuk pengguna CentOS, ini bekerja untuk saya:
sumber
yum install epel-release; yum install npm
Untuk menginstal paket npm secara global dengan izin sudo,
/usr/bin/npm
harus tersedia. Jikanpm
ada di beberapa direktori lain, buat tautan lunak seperti:Ia bekerja pada Fedora 25, node8.0.0 dan npm5.0.0
sumber
Di macOS, ini bekerja untuk saya:
sumber
unix
, tetapi mungkin masih membantu karena ini adalah hasil pencarian Google teratas untuk "perintah macos npm tidak ditemukan"Untuk debian setelah menginstal simpul masuk
sumber
Jika Anda menginstal node / npm dengan nvm, file konfigurasi lingkungan nvm harus dijalankan sebelum Anda dapat menggunakan salah satu paket.
Ini umumnya ditemukan di ~ / .nvm / nvm.sh.
Untuk menjalankan ini secara otomatis, sertakan:
dalam file .bash_profile untuk pengguna Anda
Jika Anda kemudian ingin menggunakan sudo dengan pengguna itu, pastikan untuk menyertakan parameter -i untuk membuat sudo mengatur lingkungan pengguna. misalnya
sumber
cukup instal ulang.
Di RHEL, CentOS dan Fedora
kemudian
mudah! .. kedua node dan npm berfungsi seperti jimat sekarang!
sumber
Saya menyelesaikan masalah ini dengan
sumber
Saya memiliki masalah yang sama, alasannya adalah manajer paket npm tidak diinstal saat menginstal node. Ini disebabkan karena kesalahan berikut: Dalam proses instalasi ada langkah yang disebut "Pengaturan Kustom", di sini Anda memiliki pilihan untuk memilih salah satu dari yang berikut: 1) runtime Node.js (Ini dipilih secara default). 2) manajer paket npm 3) Pintasan dokumentasi online. 4) Tambahkan ke Path. Jika Anda melanjutkan karena ini paket manager npm tidak akan diinstal dan karenanya Anda akan mendapatkan kesalahan.
Solusi: Pilih manajer paket npm ketika Anda mendapatkan opsi ini. Ini berhasil untuk saya.
sumber
Jika Anda telah mengunduh paket simpul dan mengekstraksi di suatu tempat seperti
/opt
Anda cukup membuat tautan simbolik di dalamnya/usr/local/bin
.sumber
Saya juga memiliki masalah yang sama di Homestead dan mencoba banyak cara. Saya mencoba
sudo apt-get install nodejs
Saya mendapatkan kesalahan berikut:
Akhirnya saya mencobanya
sudo apt-get dist-upgrade
Itu bekerja dengan baik.
sumber
Solusi saya adalah:
Bekerja dengan baik untuk saya.
Ditemukan di sini: https://stackoverflow.com/a/29400598/861615
Ini terjadi karena Anda telah mengubah direktori paket global default
sumber
Bekerja untuk saya Menyelesaikan kesalahan izin EACCES saat menginstal paket secara global
Untuk meminimalkan kemungkinan kesalahan izin, Anda dapat mengonfigurasi npm untuk menggunakan direktori lain. Dalam contoh ini, Anda akan membuat dan menggunakan direktori tersembunyi di direktori home Anda.
Cadangkan komputer Anda. Di baris perintah, di direktori home Anda, buat direktori untuk instalasi global:
Konfigurasikan npm untuk menggunakan jalur direktori baru:
Di editor teks pilihan Anda, buka atau buat file profil ~ /. Dan tambahkan baris ini:
Pada baris perintah, perbarui variabel sistem Anda:
Untuk menguji konfigurasi baru Anda, instal paket secara global tanpa menggunakan sudo:
sumber
Menambahkan jalur biner npm ke jalur sudo menggunakan visudo dan mengedit "secure_path"
Sekarang "sudo npm" berfungsi
sumber
Hapus Node sepenuhnya:
Pasang lagi:
sumber
Seandainya bisa bermanfaat bagi siapa saja yang menggunakan
rh-*
paket ini bekerja untuk saya:sumber
Karena saya telah menginstal node.js menggunakan file .tar yang tersedia di node.js, saya harus meletakkan lokasi direktori node di:
dari root dengan mengubah dari pengguna normal ke root menggunakan perintah:
maka saya harus menambahkan path ke node tempat saya mengekstraknya ke file .bashrc seperti di bawah ini:
kemudian merujuk .bashrc menggunakan
setelah itu
pergi
sumber
Bagi saya, salah satu metode yang disebutkan di atas menggunakan Homebrew tidak berfungsi pada macOS. Jadi, saya menghapus instalan node menggunakan Homebrew dan mengunduh paket simpul dari https://nodejs.org/en/download/ dan menginstalnya. Itu bekerja seperti pesona.
sumber
Install node.js & jalankan saja
dari dir proyek Anda
sumber