Saya mencoba menginstal node.js melalui Homebrew. Sayangnya, saya mendapatkan kesalahan ini:
➜ ~ brew install node
==> Downloading http://nodejs.org/dist/v0.8.10/node-v0.8.10.tar.gz
######################################################################## 100.0%
==> ./configure --prefix=/usr/local/Cellar/node/0.8.10
==> make install
==> Caveats
Homebrew installed npm.
We recommend prepending the following path to your PATH environment
variable to have npm-installed binaries picked up:
/usr/local/share/npm/bin
Warning: Could not link node. Unlinking...
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
You can try again using `brew link node'
==> Summary
/usr/local/Cellar/node/0.8.10: 856 files, 13M, built in 103 seconds
Jadi saya mencoba untuk menghubungkan simpul secara manual ...
➜ ~ brew link node
Linking /usr/local/Cellar/node/0.8.10... Warning: Could not link node. Unlinking...
Error: Could not symlink file: /usr/local/Cellar/node/0.8.10/lib/node_modules/npm/scripts/relocate.sh
Target /usr/local/lib/node_modules/npm/scripts/relocate.sh already exists. You may need to delete it.
To force the link and delete this file, do:
brew link -f formula_name
To list all files that would be deleted:
brew link -n formula_name
Tidak berhasil, jadi saya mencoba menghubungkan simpul dengan paksa ...
➜ ~ brew link -f node
Linking /usr/local/Cellar/node/0.8.10... Warning: Could not link node. Unlinking...
Error: Permission denied - /usr/local/lib/dtrace/node.d
Saya tidak terbiasa dengan dtrace dalam hal apa pun dan saya takut mengacaukan izin, jadi saya mencoba sudo ..
➜ ~ git:(master) sudo brew link -f node
Password:
Error: Cowardly refusing to `sudo brew link'
You can use brew with sudo, but only if the brew executable is owned by root.
However, this is both not recommended and completely unsupported so do so at
your own risk.
Saya sudah mencoba menghapus simpul melalui brew uninstall node
dan mencoba kembali pemasangan tanpa hasil.
Jawaban:
Paket homebrew untuk node.js sekarang termasuk npm lagi, jadi ini terjadi pada saya ketika saya melewatkan pesan paket homebrew tentang menghapus versi mandiri terlebih dahulu.
Dengan asumsi, seperti saya, Anda telah merusak node / npm dengan mencoba upgrade sebelum tahu
npm uninstall npm -g
terlebih dahulu, Anda bisarm -rf /usr/local/lib/node_modules/npm
dan kemudianbrew link node
. Hal ini menghilangkan mandiri diri-host paket NPM (daripada satu minuman ingin menginstal) dan memungkinkan minuman symlink yang dibundel satu dari Cellar.sumber
Saya menjalankan Mac OS X Mavericks. Saya mencoba menginstal node 0.10.25 dan jawaban teratas tidak berfungsi untuk saya.
natevw mengatakan untuk
rm -rf /usr/local/lib/node_modules/npm
tetapi jika izin/usr/local/lib/node_modules
terlihat seperti ini:maka minuman tidak akan dapat membuat symlink npm di direktori itu. Inilah solusi saya:
Langkah 1: Perbarui Homebrew
Langkah 2: Hapus node / npm di mana-mana di sistem Anda
Beberapa dari perintah ini tidak diperlukan tergantung pada bagaimana Anda menginstal node / npm di masa lalu.
Catatan: Saya memiliki file nyasar simpul yang saya temukan dengan menjalankan
brew -v link node
(yang memberi saya output verbose dari kesalahan pembuatan bir yang dikeluhkan). Anda mungkin perlu:Langkah 3: Buka terminal baru dan instal simpul
sumber
whoami
/ usr / Sausakan baik-baik saja seperti yang disebutkan dalam pemecahan masalah situs buatan
https://github.com/Homebrew/homebrew/wiki/troubleshooting
sumber
sudo chmod -R g+w /usr/local
(walaupun jujur, keduanya membuatku takut)chgrp
perintah.brew doctor
, tetapi saya lebih sukasudo su
, jalankan perintah kemudian tutup terminalAnda mungkin sudah menginstal versi node.js yang lebih lama menggunakan metode yang berbeda, jadi Anda perlu menghapus file yang menghalangi cara pembuatannya secara manual.
Lakukan
brew link -n node
dan hapus file dan direktori yang bertentangan secara manual, lalu cobabrew link node
lagi.sumber
aspell
. Bagaimana cara menemukan file dan direktori yang bertentangan?Saya agak terlambat, yang berhasil bagi saya adalah ini:
Semuanya berhasil setelah urutan ini
sumber
sudo chmod 777
Ini bukan solusi yang tepat, jika Anda memiliki masalah izin, selidiki mengapa itu terjadi dan setel tingkat minimum izin yang diperlukan untuk melakukan pekerjaan itu. Perintah ini akan memungkinkan file untuk dimodifikasi oleh siapa saja di sistem.brew link node
untuk pertama kalinya.Coba ini. Dapatkan dari referensi lain dan bekerja untuk saya.
sumber
brew postinstall node
adalah tiketbrew link --overwrite node
dan perintah terakhir, semuanya tampaknya berhasil. Perintah terakhir yang Anda sarankan tidak berfungsi karena 'sudo. Sebagai gantinya, gunakanbrew postinstall node
Saya memiliki masalah yang sama setelah mentransfer semua aplikasi saya dari Mac lama saya ke yang baru.
Saya menemukan solusinya dengan menjalankan
brew doctor
:Setelah berlari
brew prune
, Homebrew akhirnya kembali ke jalur :)sumber
Masalah saya punya solusi yang sedikit berbeda. Direktori tempat minuman ingin membuat symlink tidak dimiliki oleh pengguna saat ini.
ls -la /usr/local/bin/lib/node | grep node
dihasilkan:Bagi saya, berikut ini memperbaikinya:
ps.
$(users)
akan diperluas ke nama pengguna Anda, sedikit keluar dari cara saya untuk membantu copy paste malas;)sumber
thx @suweller.
Saya memperbaiki masalahnya:
Saya memiliki masalah yang sama dengan suweller:
jadi saya memperbaiki masalah ini dengan:
setelah saya memperbaiki masalah ini saya mendapat satu lagi:
Jadi saya menghapus node.d oleh:
mendapat kesalahan izin lainnya:
dan memperbaikinya:
dan akhirnya semuanya bekerja:
sumber
Sebagian besar masalah pemasangan bir dengan simpul disebabkan oleh kesalahan izin atau memiliki simpul yang dipasang sebelumnya dan kemudian mencoba untuk menginstalnya melalui minuman. Solusi yang berhasil bagi saya akhirnya adalah:
PERINGATAN: Ini akan menghapus instalan nodejs (beberapa versi) dengan hati-hati:
Hapus simpul melalui minuman:
buat simpul instalan
juga melakukannya dengan paksa:
buat simpul instalan - force
Untuk menggunakan Sumber skrip: Hapus simpul :
curl -O https://raw.githubusercontent.com/DomT4/scripts/master/OSX_Node_Removal/terminatenode.sh
Kemudian:
Kemudian:
Kemudian pastikan untuk melakukan perintah berikut:
chown $ USER / usr / local
Kemudian lakukan pembaruan minuman (terus lakukan ini sampai semua hal diperbarui):
pembaruan minuman
Bersihkan minuman dan jalankan pembaruan lagi (mungkin berlebihan) dan jalankan dokter untuk memastikan semuanya ada:
menyeduh minuman; pembaruan minuman; buatlah dokter
Dan akhirnya instal node via brew (verbose):
buat install -v node
sumber
jawaban terakhir: ubah pemilik direktori itu menjadi siapa pun Anda
yang juga direkomendasikan oleh minuman jika Anda menjalankan dokter minuman
sumber
Saya mendapatkan kesalahan saat instalasi yang tidak dapat menghubungkan simpul dan / usr / local / include tidak dapat ditulis
Solusi di bawah ini berfungsi untuk saya: - Pertama buat folder include, perhatikan bahwa ini membutuhkan hak akses sudo
sumber
Saya juga berhasil mengacaukan NPM saya dan menginstal paket-paket di antara versi-versi Homebrew ini dan tidak peduli berapa kali saya memutuskan tautan / mencopot dan mencopot pemasangan / instal masih tidak berfungsi.
Ternyata Anda harus menghapus NPM dari jalur, jika tidak, Homebrew tidak akan menginstalnya: https://github.com/mxcl/homebrew/blob/master/Library/Formula/node.rb#L117
Semoga ini akan membantu seseorang dengan masalah yang sama dan menghemat satu jam atau lebih sehingga saya harus menghabiskan mencari masalah ...
sumber
oleh Finder, Hapus file ini:
di terminal:
kemudian:
sumber
brew link --overwrite --dry-run node
, saya melihat kesalahanNo such keg: /usr/local/Cellar/node
. Apa yang saya lewatkan?Saya telah mencoba semua metode dan tidak satupun yang berhasil. Cara termudah adalah menginstal ulang simpul dari https://nodejs.org/en/download/
Cukup unduh
pkg
dan instal. Sekarang saya punya pekerjaannpm
dannode
lagi.sumber
Tidak tahu, apakah itu ide yang bagus atau tidak: Setelah mencoba semua solusi lain tanpa hasil, saya hanya mengganti nama / usr / local / lib / dtrace, menautkan simpul dan mengganti nama direktori kembali. Setelah itu, simpul bekerja seperti yang diharapkan.
sumber
Saya berjuang dengan ini untuk sementara waktu. (bagi saya "npm uninstall npm -g" tidak melakukan apa-apa)
Saya mencoba banyak hal:
Saya masih mengalami beberapa masalah dan mendapatkan kesalahan ketika saya mencoba menautkan file simpul
Akhirnya saya mencoba ini
Itu sepertinya telah memperbaikinya. (itu menimpa semua file yang saling bertentangan dan juga menghubungkan node dan npm)
Semoga ini membantu
sumber
Saya benar-benar menghapus minuman dan mulai lagi, hanya untuk menemukan masalah yang sama lagi.
Brew tampaknya berfungsi dengan menyinkronkan binari yang diperlukan ke sistem Anda di mana metode instalasi lain biasanya menyalin file.
Saya menemukan satu set perpustakaan simpul yang ada di sini:
/usr/local/include/node
Setelah beberapa goresan kepala saya ingat menginstal node pada tanggal terhadap versi lama ini dan itu belum melalui minuman.
Saya secara manual menghapus seluruh folder ini dan berhasil menautkan npm.
Ini akan menjelaskan mengapa menggunakan brew uninstall atau bahkan uninstall brew itu sendiri tidak berpengaruh.
Jawaban peringkat tertinggi menempatkan ini sangat sederhana, tapi saya pikir saya akan menambahkan pengamatan saya tentang mengapa itu perlu.
Saya menduga banyak masalah dengan paket minuman lain mungkin disebabkan oleh contoh paket lama yang sedang dalam proses.
sumber
Telah merusak kepalaku di simpul yang terhubung .. dan sepertinya tidak ada yang berhasil ... tapi akhirnya yang berhasil adalah mengatur izin yang tepat. 'Sudo chown -R $ (whoami) / usr / local' ini berhasil untuk saya.
sumber
Saya memperbaiki ini di El Capitan dengan menggunakan perintah berikut. Jujur, tidak tahu apa fungsinya, tetapi saya pikir saya akan berbagi karena itu memperbaiki masalah saya.
sumber
Anda perlu menghapus paket npm secara manual.
simpul tautan pertama:
brew link -n node
hapus folder npm:
rm -R /usr/local/Cellar/node/0.8.10/lib/node_modules/npm
tautan lagi:
brew link node
akan ada tautan lunak ke lokasi baru npm
sumber