2013-07-16 17 views
15

starałem się zainstalować i przełączać się pomiędzy wersją węzła, więc najpierw zainstalować NVM za pomocą poniższegoNVM dając błąd robiąc NVM ls

Administrators-MacBook-Pro:~ user.name$ sudo npm install nvm -g 
Password: 
npm http GET https://registry.npmjs.org/nvm 
npm http 304 https://registry.npmjs.org/nvm 
npm http GET https://registry.npmjs.org/mkdirp 
npm http 304 https://registry.npmjs.org/mkdirp 
/usr/local/bin/nvm -> /usr/local/lib/node_modules/nvm/bin/nvm 
[email protected] /usr/local/lib/node_modules/nvm 
└── [email protected] 

Potem starałem się zrobić „NVM ls” do spisu wersję węzła ale dał mi błąd (poniżej). Proszę o poradę, co się dzieje z nim

Administrators-MacBook-Pro:~ user.name$ nvm ls 

module.js:340 
    throw err; 
     ^
Error: Cannot find module '/usr/local/lib/node_modules/nvm/bin/nvm-ls' 
    at Function.Module._resolveFilename (module.js:338:15) 
    at Function.Module._load (module.js:280:25) 
    at Module.require (module.js:364:17) 
    at require (module.js:380:17) 
    at Object.<anonymous> (/usr/local/lib/node_modules/nvm/bin/nvm:15:1) 
    at Module._compile (module.js:456:26) 
    at Object.Module._extensions..js (module.js:474:10) 
    at Module.load (module.js:356:32) 
    at Function.Module._load (module.js:312:12) 
    at Function.Module.runMain (module.js:497:10) 
+0

Ciekawy jeśli były w stanie rozwiązać ten problem? Też napotkam na ten problem, nawet po wyeksportowaniu mojej PATH jako odpowiedź poniżej poleca. – jewel

Odpowiedz

0

Czy zaktualizować swoją ścieżkę zawierać ./node_modules/.bin? Np .:

export PATH=./node_modules/.bin:$PATH 
+0

Nie, nie mam pojęcia, co mam zrobić? – Amit

34

Niedawno wpadłem na ten problem po zainstalowaniu NVM jako pakiet npm (od https://npmjs.org/package/nvm).

Aby rozwiązać ten problem, należy zainstalować NVM bezpośrednio, korzystając z instrukcji na https://github.com/creationix/nvm#installation

Po zainstalowaniu i

source ~/.nvm/nvm.sh 

ran (jest to ważne, ponieważ to sprawia, NVM dostępne w bieżącej sesji terminala), a następnie będziesz mógł pomyślnie uruchamiać i inne polecenia nvm z katalogu projektu.

Mam nadzieję, że to pomoże & okrzyki do węzła nauki!

+2

bingo. Naprawiono to dla mnie – jdc0589

+0

Kocham cię. naprawiono to –

+0

Również potwierdzone jako działające dla mnie, dwa lata na: D – gdgr

1

tylko dodać, używam mac jak dobrze, ale nie domyślny shell (zsh) instalacji NVM zmodyfikuje .bash_profile (i dodać linię "source ~/.nvm/nvm.sh")

więc był już ten sam błąd, trzeba się upewnić, trzeba dodać „source ~/.nvm/nvm.sh” do pliku profilu powłoki (dla mnie było .zshrc)

3

aby użyć polecenie NVM ty trzeba go pobrać, jak opisano powyżej. Ale nie chcesz tego robić po każdym logowaniu.

Wystarczy dodać te linie do swojego ~/.bashrc, ~/.profile lub ~/.zshrc plik się automatycznie pozyskiwane podczas logowania:

export NVM_DIR="$HOME/.nvm" 
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" 

Zobacz również https://github.com/creationix/nvm#manual-install

+0

Z https://github.com/creationix/nvm#install-script Uwaga: W systemie OSX, jeśli nie zostanie znalezione polecenie nvm: po uruchomieniu skryptu instalacyjnego, system może nie mieć pliku [.bash_profile], w którym polecenie jest skonfigurowane. ** Proste utwórz z touch ~/.bash_profile i ponownie uruchom skrypt instalacyjny. ** –

1

@jewel ma rację: od stycznia 2016 r. (A może i wcześniej) wersja nvm zainstalowana na NPM już nie istnieje (przynajmniej jej github repo daje 404). Jeśli ten stary, nieobsługiwany pakiet jest zainstalowany, podczas wpisywania poleceń nvm mogą pojawić się błędy, takie jak "local" not implemented yet lub Error: Cannot find module './nvm-help'.

Poprawna wersja NVM pochodzi teraz z https://github.com/creationix/nvm

Jeśli zainstalowałeś wcześniej (teraz nieużywanej) wersji, można wrócić na powietrzu, wykonując następujące kroki:

  1. npm uninstall -g nvm
  2. Używanie skryptu instalacyjnego na stronie github powyżej
0

Najprostszym sposobem jest usunięcie katalogu .nvm, który jest przechowywany w twoim katalogu domowym (/home/yourname) i ponowne zainstalowanie nvm.

Źródło: https://github.com/creationix/nvm