Bagaimana cara menghapus instalan Node.js sepenuhnya, dan menginstal ulang dari awal (Mac OS X)

1291

Versi node saya selalu v0.6.1-pre bahkan setelah saya menginstal brew node dan NVM menginstal v0.6.19.

Versi simpul saya adalah:

node -v
v0.6.1-pre

NVM mengatakan ini (setelah saya menginstal versi node untuk pertama kalinya dalam satu terminal bash):

nvm ls
v0.6.19
current:    v0.6.19

Tetapi ketika saya memulai ulang bash, inilah yang saya lihat:

nvm ls
v0.6.19
current:    v0.6.1-pre
default -> 0.6.19 (-> v0.6.19)

Jadi, di mana node hantu versi 0.6.1-pra ini dan bagaimana saya bisa menghilangkannya? Saya mencoba menginstal pustaka melalui NPM sehingga saya dapat mengerjakan suatu proyek.

Saya mencoba menggunakan BREW untuk memperbarui sebelum NVM, menggunakan brew updatedan brew install node. Saya sudah mencoba menghapus direktori "node" di saya /usr/local/includedan "node" dan "node_modules" di saya /usr/local/lib. Saya sudah mencoba mencopot npm dan menginstalnya kembali mengikuti petunjuk ini .

Semua ini karena saya mencoba memperbarui versi node yang lebih lama untuk menginstal pustaka "zipstream". Sekarang ada folder di direktori pengguna saya, dan versi node MASIH tidak up to date, meskipun NVM mengatakan itu menggunakan 0.6.19.

Idealnya, saya ingin menghapus instalan nodejs, npm, dan nvm, dan menginstal ulang semuanya dari awal di sistem saya.

Dominic Tancredi
sumber
/ usr / bin / node adalah satu lagi ...
Aaron Blenkush
1
ini mungkin membantu siapa pun yang menginstal simpul melalui file pkg. superuser.com/questions/36567/…
karthikeayan
Mac 10.13.5 telah mendapatkan / Users / myusername / node_modules saya harus menghapus folder ini juga? Saya mencari di utas ini tetapi tampaknya tidak ada yang menghadapi masalah ini
vikramvi
@Pacerier bahkan setelah mengikuti instruksi di intinya, masih node dan npm ada di Mac OS 10.13.5
vikramvi

Jawaban:

1699

Ternyata, ada /Users/myusername/localfolder yang berisi includedengan nodedan libdengan nodedan node_modules. Bagaimana dan mengapa ini dibuat bukan di /usr/localfolder saya , saya tidak tahu.

Menghapus referensi lokal ini memperbaiki phantom v0.6.1-pre. Jika ada yang punya penjelasan, saya akan memilih itu sebagai jawaban yang benar.

EDIT:

Anda mungkin perlu melakukan instruksi tambahan juga:

sudo rm -rf /usr/local/{lib/node{,/.npm,_modules},bin,share/man}/{npm*,node*,man1/node*}

yang setara dengan (sama seperti di atas) ...

sudo rm -rf /usr/local/bin/npm /usr/local/share/man/man1/node* /usr/local/lib/dtrace/node.d ~/.npm ~/.node-gyp 

atau (sama seperti di atas) rusak ...

Untuk benar-benar menghapus simpul + npm adalah dengan melakukan hal berikut:

  1. buka / usr / local / lib dan hapus sembarang node dan node_modules
  2. buka / usr / local / include dan hapus direktori node dan node_modules
  3. jika Anda menginstal dengan brew install node , kemudian jalankan brew uninstall node di terminal Anda
  4. periksa direktori Beranda Anda untuk mengetahui folder lokal atau lib atau termasuk , dan hapus semua node atau node_modules dari sana
  5. buka / usr / local / bin dan hapus semua simpul yang dapat dieksekusi

Anda mungkin juga perlu melakukan:

sudo rm -rf /opt/local/bin/node /opt/local/include/node /opt/local/lib/node_modules
sudo rm -rf /usr/local/bin/npm /usr/local/share/man/man1/node.1 /usr/local/lib/dtrace/node.d

Selain itu, NVM memodifikasi variabel PATH di $HOME/.bashrc, yang harus dikembalikan secara manual .

Kemudian unduh nvm dan ikuti instruksi untuk menginstal node. Versi terbaru dari node datang dengan npm , saya percaya, tetapi Anda juga dapat menginstalnya kembali.

Dominic Tancredi
sumber
83
Saya juga harus rm -rf /Users/[homedir]/.npm.
brokenindexfinger
17
Juga diperlukan untuk menghapus/Users/[homedir]/.nvm
n0pe
42
Saya juga berlari brew doctordan kemudian brew prunemembersihkan sekelompok symlink yang rusak untuk NPM.
Chris Jacob
54
Saya mengumpulkan naskah yang sekarang saya uji pertempuran. Terima kasih @DominicTancredi ini berfungsi dengan baik! gist.github.com/brock/5b1b70590e1171c4ab54
brock
13
Saya juga harus menambahkan: sudo rm -rf ~/.node-gyp. Saya telah menambahkannya dengan MacPorts sebelum saya beralih ke minuman.
YESUS
519

Untuk pengguna minuman, OSX :

Untuk menghapus:

brew uninstall node; 
# or `brew uninstall --force node` which removes all versions
brew cleanup;
rm -f /usr/local/bin/npm /usr/local/lib/dtrace/node.d;
rm -rf ~/.npm;

Untuk memasang:

brew install node;
which node # => /usr/local/bin/node
export NODE_PATH='/usr/local/lib/node_modules' # <--- add this ~/.bashrc

Anda dapat menjalankan brew info nodeuntuk perincian lebih lanjut tentang pemasangan simpul Anda.


pertimbangkan untuk menggunakan NVM daripada menyeduh

NVM (manajer versi simpul) adalah solusi portabel untuk mengelola beberapa versi node

https://github.com/nvm-sh/nvm

> nvm uninstall v4.1.0
> nvm install v8.1.2
> nvm use v8.1.2
> nvm list
         v4.2.0
         v5.8.0
        v6.11.0
->       v8.1.2
         system

Anda dapat menggunakan ini dengan AVN untuk secara otomatis beralih versi saat Anda melompat di antara berbagai proyek dengan dependensi simpul yang berbeda.

lfender6445
sumber
2
Bagaimana cara mengatur env vars sehingga node dan npm tersedia setelah instalasi seperti itu?
Maxim V. Pavlov
13
Anda mungkin perlu menjalankan brew dengan --forceflag untuk memastikan semua versi node dihapus: $ brew uninstall --force node
magikMaker
-bash: /usr/local/bin/npm: No such file or directoryApa yang bisa saya lakukan sekarang?
ValRob
5
> "pertimbangkan untuk menggunakan NVM daripada menyeduh"; Ironisnya Anda dapat menginstal NVM dengan minuman! Tip yang bagus, terima kasih.
HankCa
2
Menggunakan NVM membantu.
coderpc
186

Saya tahu posting ini sedikit tanggal tetapi hanya ingin berbagi perintah yang bekerja untuk saya di Terminal ketika menghapus Node.js.

lsbom -f -l -s -pf /var/db/receipts/org.nodejs.pkg.bom | while read f; do  sudo rm /usr/local/${f}; done

sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*

MEMPERBARUI: 23 SEP 2016


Jika Anda takut menjalankan perintah ini ...

Terima kasih jguixuntuk this quick tutorial.

Pertama, buat file perantara:

lsbom -f -l -s -pf /var/db/receipts/org.nodejs.node.pkg.bom >> ~/filelist.txt

Tinjau file Anda secara manual (terdapat di Homefolder Anda )

 ~/filelist.txt

Kemudian hapus file:

cat ~/filelist.txt | while read f; do sudo rm /usr/local/${f}; done

sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*

Untuk 10.10.5 ke atas

Terima kasih Lenar Hoyt

Sumber Komentar Inti: gistcomment-1572198

Intisari Asli: TonyMtz/d75101d9bdf764c890ef

lsbom -f -l -s -pf /var/db/receipts/org.nodejs.node.pkg.bom | while read f; do sudo rm /usr/local/${f}; done

sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*
DaveyJake
sumber
15
Wah-- ini menakutkan. Setidaknya "rm" pertama bukan "rm -rf", yang, jika ada baris kosong pada keluaran sbom, akan menghapus semua / usr / local. Sebelum melakukan sesuatu yang begitu berat, perhatikan output sbom dan dari mana semua dir ini berasal dan pastikan Anda tahu persis apa yang Anda hapus.
Don Hatch
16
Saya harus menambahkan ... jika Anda memiliki naluri pemeliharaan diri yang sehat, akan sangat sulit bagi Anda untuk mengetik atau menyalin-tempel perintah kedua itu, yang dimulai dengan "sudo rm -rf /", sama sekali. Satu bersin, atau kucing melompat pada keyboard Anda, dan Anda telah menghancurkan sistem file Anda.
Don Hatch
2
Ini org.nodejs.node.pkg.bombukan org.nodejs.pkg.bom.
Lenar Hoyt
1
@ DonHatch menyalin baris tanpa huruf pertama sehingga dimulai dengan udo..dan kemudian tambahkan ssebelum menjalankannya.
youurayy
1
Perintah lsbom menampilkan jalur relatif sehingga skrip mencoba menghapus jalur yang tampak seperti itu /usr/local/./node/yada. Untuk menghapus ./awalan, saya menggunakan cut filter: lsbom -f -l -s -pf /var/db/receipts/org.nodejs.node.pkg.bom | cut -c 3- | while read f; do sudo rm /usr/local/${f}; done
timiscoding
142

Pada Mavericks saya menginstalnya dari node pkg (dari situs nodejs) dan saya uninstall sehingga saya dapat menginstal ulang menggunakan brew. Saya hanya menjalankan 4 perintah di terminal:

  1. sudo rm -rf /usr/local/lib/node_modules/npm/
  2. brew uninstall node
  3. brew doctor
  4. brew cleanup --prune-prefix

Jika masih ada instalasi node, ulangi langkah 2. Setelah semuanya ok, saya instal menggunakan brew install node

Pedro Polonia
sumber
50
1 berhasil, tetapi 2 gagal. Saya mendapatkan "no keg seperti: usr / local / Cellar / node"
PositiveGuy
Yap, ini yang terbaik jika Anda menjalankan Mavericks
Dicer
1
Saya mencobanya tetapi sekali lagi mendapatkan kesalahan yang sama Kesalahan: brew linkLangkah ini tidak selesai dengan sukses
Chandni
Terima kasih, sempurna kecuali saya harus menambahkan - memaksa untuk menyeduh minuman
Medhi
1
FYI: Sampai tulisan ini -->brew prune Error: Calling 'brew prune' is disabled! Use 'brew cleanup --prune-prefix' instead.
Mike S.
33
  1. Pertama:

    lsbom -f -l -s -pf /var/db/receipts/org.nodejs.pkg.bom | while read f; do  sudo rm /usr/local/${f}; done
    
    sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*
  2. Untuk rekap, cara terbaik (saya telah menemukan) untuk menghapus sepenuhnya node + npm adalah dengan melakukan hal berikut:

    buka /usr/local/libdan hapus sembarang simpul dan simpul_modul

    cd /usr/local/lib
    
    sudo rm -rf node*
  3. buka /usr/local/includedan hapus direktori node dan node_modules

    cd /usr/local/include
    
    sudo rm -rf node*
  4. jika Anda menginstal dengan brew install node, kemudian jalankan brew uninstall nodedi terminal Anda

    brew uninstall node
  5. periksa direktori Beranda Anda untuk mengetahui folder "lokal" atau "lib" atau "sertakan", dan hapus "node" atau "node_modules" dari sana

    buka / usr / local / bin dan hapus semua simpul yang dapat dieksekusi

    cd /usr/local/bin
    
    sudo rm -rf /usr/local/bin/npm
    
    ls -las
  6. Anda mungkin perlu melakukan instruksi tambahan juga:

    sudo rm -rf /usr/local/share/man/man1/node.1
    
    sudo rm -rf /usr/local/lib/dtrace/node.d
    
    sudo rm -rf ~/.npm

Sumber: tonyMtz

Johel Alvarez
sumber
7
Menghapus node*bukanlah cara yang aman untuk melanjutkan. Mungkin ada binari lain dengan awalan itu.
Lenar Hoyt
2
Hebat, akhirnya setelah 3 hari, ketika kadang-kadang ada masalah npm, dihapus sepenuhnya dan instal ulang menggunakan minuman di mac saya, bekerja seperti pesona.
Amit Bravo
Ketika dipecat perintah pertama mendapatkan can't open /var/db/receipts/org.nodejs.pkg.bom: No such file or directory **** Can't open /var/db/receipts/org.nodejs.pkg.bom.Tolong bantu
Ahtesham Shah
Bahkan setelah melakukan langkah-langkah ini pada Mac 10.13.5, masih saya bisa melihat npm dan simpul apa yang salah?
vikramvi
25

turunkan simpul ke 0.10.36

  sudo npm cache clean -f
  sudo npm install -g n
  sudo n 0.10.36

tingkatkan node ke stable v

  sudo npm cache clean -f
  sudo npm install -g n
  sudo n stable
Anja Ishmukhametova
sumber
Saya hanya melakukan ini dan anehnya, ini menurunkan npm dari 6.4.1 menjadi 6.2.0.
Capn Sparrow
22

Saya tidak yakin apakah itu karena saya memiliki versi lama (4.4.5), atau apakah itu karena saya menggunakan penginstal resmi, tetapi sebagian besar file yang dirujuk dalam jawaban lain tidak ada di sistem saya. Saya hanya perlu menghapus yang berikut ini:

~/.node-gyp
~/.node_repl_history
/usr/local/bin/node
/usr/local/bin/npm
/usr/local/include/node
/usr/local/lib/dtrace/node.d
/usr/local/lib/node_modules
/usr/local/share/doc/node
/usr/local/share/man/man1/node.1
/usr/local/share/systemtap/tapset/node.stp

Saya memutuskan untuk tetap ~/.npmkarena saya berencana menginstal ulang Node dengan Homebrew.

McLarge Besar
sumber
Jawaban ini dibuat pada tahun 2012, jadi saya yakin ini memiliki beberapa warisan. Sekarang, jika jawaban baru muncul, saya membatalkannya setelah meninjau apakah itu efektif.
Dominic Tancredi
15

Saya telah merangkum jawaban yang ada dan memastikan Node js SEPENUHNYA DIHAPUS bersama dengan NPM.

  1. brew uninstall node
  2. which node
  3. sudo rm -rf /usr/local/bin/node
  4. sudo rm -rf /usr/local/lib/node_modules/npm/
  5. brew doctor
  6. brew cleanup --prune-prefix

Baris untuk disalin ke terminal:

brew uninstall node;
which node;
sudo rm -rf /usr/local/bin/node;
sudo rm -rf /usr/local/lib/node_modules/npm/;
brew doctor;
brew cleanup --prune-prefix;
Dary
sumber
Saya mengikuti langkah-langkah ini dan tampaknya berhasil. Saya masih memiliki direktori di folder akar saya seperti .node-gyp/, .npm/, .npm-global/, dan .nvm/. Bisakah saya menghapus ini atau haruskah saya menyimpannya jika saya berencana menginstal ulang node?
WaterTrash
10
  • Hapus node dan / atau node_modules dari / usr / local / lib

          ex code:
          cd /usr/local/lib
          sudo rm -rf node
          sudo rm -rf node_modules
  • Hapus node dan / atau node_modules dari / usr / local / include

  • Hapus node, debug-node, dan node-gyp dari / usr / local / bin
  • Hapus .npmrc dari direktori home Anda (ini adalah pengaturan npm Anda, jangan hapus ini jika Anda berencana menginstal ulang Node segera)
  • Hapus .npm dari direktori home Anda
  • Hapus .node-gyp dari direktori home Anda
  • Hapus .node_repl_history dari direktori home Anda
  • Hapus simpul * dari / usr / local / share / man / man1 /
  • Hapus npm * dari / usr / local / share / man / man1 /
  • Hapus node.d dari / usr / local / lib / dtrace /
  • Hapus simpul dari / usr / local / opt / local / bin /
  • Hapus simpul dari / usr / local / opt / local / include /
  • Hapus node_modules dari / usr / local / opt / local / lib /
  • Hapus simpul dari / usr / local / share / doc /
  • Hapus node.stp dari / usr / local / share / systemtap / tapset /
Rajiv Singh
sumber
Saya juga harus menghapus node@6dari/usr/local/opt/
gema
9

Bekerja untukku.

$node --version

v11.1.0

$nvm deactivate

$nvm uninstall v11.1.0
Inês Gomes
sumber
7
Tetapi hanya jika Anda telah nvmmenginstal.
Sebastian Dressler
@SebastianDressler Ya :-) buat instal nvm. info lebih lanjut di sini stackabuse.com/how-to-uninstall-node-js-from-mac-osx
Inês Gomes
8

Setelah

brew uninstall node

Saya harus tahu simpul mana

which node

lalu hapus itu

rm -rf /usr/local/bin/node
Hos Mercury
sumber
7

Jika Anda sudah menginstal nvm maka jalankan perintah berikut

  • nvm deactivate - Ini akan menghapus /.nvm/*/bin dari $ PATH
  • nvm list - Untuk mendaftar semua versi node yang diinstal di sistem
  • nvm uninstall <version> di Anda dapat menentukan semua versi yang ingin Anda hapus.

Itu selalu baik bahwa Anda menginstal node menggunakan nvmdan menghapus menggunakan nvm daripada brew.

Solusi ini berhasil untuk saya.

Perintah tambahan

  • which nodeuntuk mengetahui jalur simpul yang terinstal di sistem Anda. Anda dapat rm direktori ini untuk menghapus instalan node secara manual. Maka Anda mungkin perlu menyesuaikan file PATH sesuai.
Akhil Nadh PC
sumber
6

Memperluas jawaban luar biasa Dominic Tancredi , saya telah memasukkan ini ke dalam paket bash dan skrip yang berdiri sendiri. Jika Anda sudah menggunakan "Back Package Manager" bernama bpkg, Anda dapat menginstal skrip dengan menjalankan:

bpkg install -g brock/node-reinstall

Atau Anda dapat melihat skrip di Github di brock / node-install ulang . Script memungkinkan Anda untuk menginstal ulang node menggunakan nvm atau nave, dan untuk menentukan versi node sebagai default Anda.

bangsat
sumber
1
Saya akan memposting ini, dan melihat bahwa penulis sendiri memposting jawaban terbaik untuk masalah ini: gunakan simpul-instal sekali dan Anda tidak akan pernah melihat ke belakang. Membuat saya memukul tanah dan siap untuk pengembangan lebih lanjut! Ceria untuk @brockangelo ini!
Wallace Sidhrée
3
Peringatan ..... node-reinstallskrip berisi baris ini: sudo rm -rf $HOME/{local,lib,include,node*,npm,.npm*} Jadi, jika Anda secara mandiri memiliki direktori nama itu di $HOME(seperti yang saya lakukan), itu akan menjadi musnah!
terrycojones
6

Tambahan untuk jawaban utama yang saya perlukan untuk menghapus semua instance npm yang ditemukan di:

rm -rf /usr/local/share/man/man1/npm*
Carlos Pérez Priego
sumber
1
Ini harus berupa komentar tentang jawaban yang sesuai, bukan jawaban baru.
Edward Anderson
5

Saya terkena masalah saat mencopot pemasangan Node.js di mac saya. Saya memiliki beberapa perilaku aneh seperti npmmasih mereka bahkan setelah menghapusnya dengan semua ini.

Itu karena saya sudah menginstal lama dengan macport. Jadi, Anda juga harus menghapus instalasi menggunakan port:

sudo port uninstall nodejs

Ini mungkin telah menginstal banyak versi Node.js yang berbeda, jadi hapus instalan semuanya (satu per satu).

toutpt
sumber
1
Inilah yang terjadi pada saya :-) terima kasih untuk jawaban tambahan Anda. Yah, saya mulai memiliki beberapa versi Cordova, dan satu npm tidak dapat menghapus satu Cordova dan sebaliknya.
peter_the_oak
5

mungkin Anda perlu membuatnya

hash -r 

ini membantu dengan masalah symlink

$ node -v
$ bash: /opt/local/bin/node: No such file or directory
geser
sumber
4

Anda dapat mengkloning https://github.com/brock/node-reinstall dan menjalankan perintah sederhana seperti yang diberikan dalam repositori. Setelah itu restart sistem Anda.
Ini adalah metode paling sederhana dan juga berhasil untuk saya.

oxy_js
sumber
4

Cara terbaik adalah mengunduh paket pemasang: .pkg di mac. Lebih suka versi stabil terbaru.

Inilah tautannya: Node.js

Paket ini pada akhirnya akan menimpa versi sebelumnya dan mengatur variabel lingkungan yang sesuai. Jalankan saja penginstal dan selesai dalam beberapa klik.

vkrishna17
sumber
3

Saya telah menginstal Node.js dari sumber yang diunduh dari repositori git. Saya menginstal dengan:

./configure
$ make
$ sudo make install

Karena file make mendukungnya, saya dapat melakukan:

$ sudo make uninstall
Dave Kuhlman
sumber
Bagaimana menjalankannya secara paralel? katakanlah saya ingin menjalankan 2 versi?
3

Sebagai pendamping jawaban menjelaskan pembersihan dan pemasangan melalui homebrew, saya menemukan bahwa homebrew itu sendiri memberikan indikasi yang jelas tentang bentrokan symlink.

Sayangnya itu memberikan ini satu per satu ketika bertemu dengan mereka, jadi itu sedikit melelahkan, tetapi tampaknya menemukan semua bentrokan dan satu-satunya cara saya bisa mendapatkan instalasi yang bersih dengan homebrew.

Intinya, prosesnya adalah:

  1. gunakan homebrew untuk menghapus simpul
  2. homebrew bersih
  3. gunakan homebrew untuk menginstal node dan catat setiap file clashing yang ditandai
  4. hapus file flag clashing (atau seluruh direktori jika itu adalah direktori 'node')
  5. lanjutkan langkah 1 hingga Anda mendapatkan instalasi yang bersih

Secara Diagram:

Ini adalah output layar dari langkah terakhir instalasi saya - Anda dapat melihatnya menghasilkan instalasi bersih (akhirnya ...):

computer1:DevResources user1$ brew install node
Updating Homebrew...
==> Downloading https://homebrew.bintray.com/bottles/node-13.1.0.mojave.bottle.tar.gz
Already downloaded: /Users/user1/Library/Caches/Homebrew/downloads/da904f1fdab6f6b2243a810b685e67b29a642c6e945f086e0022323a37fe85f9--node-13.1.0.mojave.bottle.tar.gz
==> Pouring node-13.1.0.mojave.bottle.tar.gz
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink share/systemtap/tapset/node.stp
Target /usr/local/share/systemtap/tapset/node.stp
already exists. You may want to remove it:
  rm '/usr/local/share/systemtap/tapset/node.stp'

To force the link and overwrite all conflicting files:
  brew link --overwrite node

To list all files that would be deleted:
  brew link --overwrite --dry-run node

Possible conflicting files are:
/usr/local/share/systemtap/tapset/node.stp
/usr/local/lib/dtrace/node.d
==> Caveats
Bash completion has been installed to:
  /usr/local/etc/bash_completion.d
==> Summary
🍺  /usr/local/Cellar/node/13.1.0: 4,591 files, 54.2MB
computer1:DevResources user1$ rm '/usr/local/share/systemtap/tapset/node.stp'
computer1:DevResources user1$ brew uninstall node
Uninstalling /usr/local/Cellar/node/13.1.0... (4,591 files, 54.2MB)
computer1:DevResources user1$ brew cleanup
computer1:DevResources user1$ brew install node
Updating Homebrew...
==> Downloading https://homebrew.bintray.com/bottles/node-13.1.0.mojave.bottle.tar.gz
Already downloaded: /Users/user1/Library/Caches/Homebrew/downloads/da904f1fdab6f6b2243a810b685e67b29a642c6e945f086e0022323a37fe85f9--node-13.1.0.mojave.bottle.tar.gz
==> Pouring node-13.1.0.mojave.bottle.tar.gz
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink lib/dtrace/node.d
Target /usr/local/lib/dtrace/node.d
already exists. You may want to remove it:
  rm '/usr/local/lib/dtrace/node.d'

To force the link and overwrite all conflicting files:
  brew link --overwrite node

To list all files that would be deleted:
  brew link --overwrite --dry-run node

Possible conflicting files are:
/usr/local/lib/dtrace/node.d
==> Caveats
Bash completion has been installed to:
  /usr/local/etc/bash_completion.d
==> Summary
🍺  /usr/local/Cellar/node/13.1.0: 4,591 files, 54.2MB
computer1:DevResources user1$ rm '/usr/local/lib/dtrace/node.d'
computer1:DevResources user1$ 
computer1:DevResources user1$ brew uninstall node
Uninstalling /usr/local/Cellar/node/13.1.0... (4,591 files, 54.2MB)
computer1:DevResources user1$ brew cleanup
computer1:DevResources user1$ brew install node
Updating Homebrew...
==> Downloading https://homebrew.bintray.com/bottles/node-13.1.0.mojave.bottle.tar.gz
Already downloaded: /Users/user1/Library/Caches/Homebrew/downloads/da904f1fdab6f6b2243a810b685e67b29a642c6e945f086e0022323a37fe85f9--node-13.1.0.mojave.bottle.tar.gz
==> Pouring node-13.1.0.mojave.bottle.tar.gz
==> Caveats
Bash completion has been installed to:
  /usr/local/etc/bash_completion.d
==> Summary
🍺  /usr/local/Cellar/node/13.1.0: 4,591 files, 54.2MB
computer1:DevResources user1$ node -v
v13.1.0
Mick
sumber
2

Pertama-tama, Anda perlu menonaktifkan simpul: (mac) setelah menginstal versi simpul baru.

nvm deactivate

Ini dihapus / Pengguna / pengguna_name/.nvm/*/bin dari $ PATH

Dan setelah simpul itu diperbarui

node --version
v10.9.0
Alexandr
sumber
1

Ini memperbaikinya untuk saya Memperbaiki npm Di Mac OS X untuk Pengguna Homebrew . Dan itu tidak membutuhkan terlalu banyak langkah.

Buka saja bagian solusinya jika Anda tidak peduli mengapa.

Inilah bagian yang relevan untuk kenyamanan:

Larutan

Solusi ini memperbaiki kesalahan yang disebabkan oleh mencoba menjalankan npm update npm -g. Setelah selesai, Anda juga tidak perlu menggunakan sudountuk menginstal modul npm secara global.

Sebelum Anda mulai, catat paket npm yang terinstal secara global. Instruksi ini membuat Anda menghapus semua paket itu. Setelah selesai, Anda harus menginstalnya kembali.

Jalankan perintah berikut untuk menghapus semua modul npm global yang ada, hapus instalan & npm, instal ulang node dengan default yang benar, konfigurasikan lokasi untuk modul global npm yang akan diinstal, dan kemudian instal npm sebagai pacakge sendiri.

rm -rf /usr/local/lib/node_modules
brew uninstall node
brew install node --without-npm
echo prefix=~/.npm-packages >> ~/.npmrc
curl -L https://www.npmjs.com/install.sh | sh

Node dan npm harus dipasang dengan benar pada saat ini. Langkah terakhir adalah menambahkan paket npm dan global npm ~/.npm-packages/binAnda PATHagar dapat digunakan. Untuk melakukan ini, tambahkan baris berikut ke ~/.bash_profile:

export PATH="$HOME/.npm-packages/bin:$PATH"

Sekarang Anda dapat menginstal ulang paket global npm yang Anda butuhkan tanpa masalah.

pcatre
sumber
4
Jawaban khusus tautan tidak disarankan di Stack Overflow.
Andrew Grimm
@AndrewGrimm masuk akal, saya menyalin bagian yang relevan.
pcatre
1
Setelah meletakkan perintah berikut, saya mendapatkan kesalahan berikut: curl -L npmjs.com/install.sh | sh .... npm ERR! Log lengkap dari proses ini dapat ditemukan di: npm ERR! /Users/bddev/.npm/_logs/2018-10-18T20_02_34_337Z-debug.log npm ERR! kode E404 npm ERR! 404 Tidak Ditemukan: 1.535s@latest npm ERR! Log lengkap dari proses ini dapat ditemukan di: npm ERR! /Pengguna/bddev/.npm/_logs/2018-10-18T20_02_36_399Z-debug.log Gagal
Shoaib Ahmed
1

Dalam kasus saya tidak ada jawaban lain yang berhasil karena saya sebelumnya diturunkan ke node8. Jadi alih-alih melakukan di atas, berikut ini bekerja untuk saya:

which node

yang dikembalikan /usr/local/bin/node@8bukan/usr/local/bin/node

jadi saya menjalankan perintah ini:

brew uninstall node@8

yang bekerja dan kemudian mengunduh pkg terbaru dari situs resmi dan diinstal. Setelah itu saya harus menutup terminal saya dan mulai lagi untuk mengakses versi baru

Raza Ahmed
sumber
1

Jika Anda tidak dapat menemukan node jalankan saja whereis nodedan whereis npmdan whereis nvmdan Anda dapat menghapus direktori yang terdaftar sesuai kebutuhan.

Anda juga harus menutup terminal sepenuhnya dan membukanya kembali agar perubahan diterapkan.

andromeda
sumber
1

Docker - pendekatan alternatif

Docker adalah semacam mesin virtual super cepat yang dapat digunakan untuk menjalankan alat-alat seperti node (bukan menginstalnya langsung di mac-os). Keuntungan melakukannya adalah sebagai berikut

  • semua barang (file node 'milions') dipasang di dalam docker image / container (dikemas dalam beberapa file inner-docker)

  • Anda dapat memetakan direktori mac Anda dengan memproyeksikan ke wadah buruh pelabuhan Anda dan memiliki akses ke simpul - tetapi di luar buruh pelabuhan, mac-os sytem bahkan tidak tahu bahwa simpul diinstal. Jadi Anda mendapatkan semacam konsol 'virtual' dengan perintah node yang tersedia yang dapat bekerja pada file nyata

  • Anda dapat dengan mudah membunuh simpul dengan menemukannya docker psdan membunuh olehdocker rm -f name_or_num

  • Anda dapat dengan mudah menghapus gambar buruh pelabuhan / wadah dengan satu perintah docker rmi ...dan mendapatkan ruang kosong - dan menginstalnya kembali dengan menjalankan skrip (di bawah)

  • simpul Anda diringkas di dalam docker dan tidak memiliki akses ke seluruh sistem - hanya ke folder yang Anda petakan

  • Anda dapat menjalankan layanan node dan dengan mudah memetakan port-nya ke port mac dan memiliki akses ke sana dari browser web

  • Anda dapat menjalankan banyak versi node secara bersamaan

  • dengan cara yang sama Anda dapat menginstal alat-alat lain seperti (dalam banyak versi dalam waktu yang bersamaan): php, database, redis dll. - di dalam docker tanpa interaksi dengan mac-os (yang sama sekali tidak melihat perangkat lunak seperti itu). Misalnya Anda dapat menjalankan pada saat yang sama 3 mysql db dengan versi berbeda dan 3 aplikasi php dengan versi php berbeda ... - sehingga Anda dapat memiliki banyak alat tetapi membersihkan sistem

  • KERJA TIM: lingkungan seperti itu dapat dengan mudah dikloning ke mesin lain (dan bahkan ke sistem windows / linux - dengan beberapa modifikasi) dan menyediakan lingkungan tingkat buruh pelabuhan yang identik - sehingga Anda dapat dengan mudah mengatur dan menggunakan kembali skrip / buruh pelabuhan, dan lingkungan pengaturan untuk anggota tim baru dengan cara yang sangat cepat (dia hanya perlu menginstal buruh pelabuhan dan membuat struktur folder yang sama dan mendapatkan salinan skrip - itu saja). Saya bekerja dengan cara ini selama 2 tahun dan dengan tim saya - dan kami sangat senang

Petunjuk

  • Instal buruh pelabuhan menggunakan mis instruksi ini

  • Persiapkan direktori 'khusus' untuk pekerjaan, mis. Direktori saya adalah /Users/kamil/work(saya akan menggunakan direktori ini lebih lanjut - tetapi bisa arbitrer) - direktori ini akan menjadi 'antarmuka' antara kontainer buruh pelabuhan dan batang file mac Anda. Di dalam dir ini buat struktur dir berikut:

    /Users/kamil/work/code - di sini Anda menempatkan proyek Anda dengan kode

    /Users/kamil/work/tools

    /Users/kamil/work/tools/docker-data - di sini kita memetakan data keluaran wadah seperti log (atau file database jika seseorang menggunakan db dll)

    /Users/kamil/work/tools/docker

    /Users/kamil/work/tools/docker/node-cmd - Di sini kita meletakkan skrip node docker

  • di dalam toolsbuat file .envyang akan berisi di satu tempat jalur global yang digunakan dalam skrip lain

  • innside dir ../node-cmdbuat file dockerfiledengan konten berikut

  • innside dir ../node-cmdmembuat file run-containerdengan konten berikut (file ini harus dapat dieksekusi misalnya oleh chmod +x run-container) - (perhatikan bagaimana kita memetakan port-s dan direktori membentuk 'dunia' eksternal ke sistem file docker internal)

  • ok sekarang Anda dapat menambahkan beberapa proyek misalnya work/code/myProjectdan menambahkannya mengikuti file 'run-cmd' (harus dapat dieksekusi)

  • maka jika Anda menjalankan skrip di atas (dengan mengklik dua kali), Anda akan melihat konsol dengan perintah simpul yang tersedia di direktori proyek misalnya npm install

  • untuk menjalankan proyek di latar belakang (mis. beberapa layanan) mis. jalankan aplikasi web-server angular-cli Anda dapat menggunakan skrip berikut (bernama run-front-harus dapat dieksekusi) - (Anda juga harus mengedit /etc/hostsfile untuk menambahkan domain yang tepat)

Kamil Kiełczewski
sumber
0

@ lfender6445 jawaban bekerja dengan baik bagi saya untuk menghapus

Sekarang untuk menginstal ulang, saya punya masalah menginstal versi terakhir daripada yang paling stabil, jadi untuk menginstal versi node tertentu yang harus Anda lakukan:

brew install node@10 // 10 is the version I want
brew link node@10
Lucas Andrade
sumber
-7

(server: ubuntu 14)

1.) instal nvm (pengelola versi simpul) https://github.com/creationix/nvm

2.) nvm instal node

3.) npm -v (menanyakan versi npm => 3.8.6)

4.) simpul -v (tanyakan versi simpul => v6.0.0)

aze
sumber