Pomyślnie aktualizuję / instaluję najnowszą wersję węzła js przy użyciu tych poleceń (oficjalny curl
sposób nie działa dla mnie):
sudo npm cache clean -f
sudo npm install -g n
sudo n stable
sudo ln -sf /usr/local/n/versions/node/<VERSION>/bin/node /usr/bin/node
Jednak wersja mojego węzła i węzłów staje się inna:
$ node --version
v5.0.0
$ nodejs --version
v0.10.25
Wygląda na to, że nowy węzeł jest zainstalowany /usr/local/bin/node
, więc próbowałem:
sudo ln -s /usr/bin/nodejs /usr/local/bin/node
Ale zwraca:
ln: failed to create symbolic link ‘/usr/local/bin/node’: File exists
Korzystam również z tego linku:
$ sudo ln -s /usr/bin/nodejs /usr/bin/node
ln: failed to create symbolic link ‘/usr/bin/node’: File exists
Użyję pewnych ram, które zależą, na node
przykład Ionic
. Z jakiej wersji węzła będzie korzystał?
Co powinienem zrobić, aby to rozwiązać?
Bardzo dziękuję za Twoją pomoc
nodejs
inode
do binarnego zainstalowanego przez n. A jeśli n nie jest w stanie tego zrobić, jakie jest najnowsze podejście? W środowisku pracy bardzo podatne jest na błędy, jeśli nodejs i węzeł adresują różne wersje nodejs.Odpowiedzi:
Kroki, które rozwiązały dla mnie ten sam problem:
Wyjaśnienie
Zainstalowałeś dwie wersje nodejs na swoim komputerze, więc musisz usunąć jedną z nich. Twoja sytuacja:
Możesz usunąć
nodejs
pakiet za pomocąapt-get remove
polecenia. Spowoduje to również usunięcie pliku/usr/bin/nodejs
i ponowne wyświetlenie komunikatu o błędzie.Teraz możesz utworzyć dowiązanie symboliczne o nazwie „/ usr / bin / nodejs”, które wskazuje na źródło „/ usr / local / bin / node”. W twoim przykładzie masz niewłaściwą kolejność ścieżek „od” i „do”
Więcej informacji o tworzeniu linków: Jak działają linki symboliczne
źródło
Błąd:
ln: failed to create symbolic link ‘/usr/bin/node’: File exists
jest zwykle powodowany, gdy naprawdę masz dwie wersje Nodejsa, a z aliasem
node
drugiego, a druga znodejs
aliasem, jak widać na podstawie poleceńnode --version
inodejs --version
:więc nie możesz utworzyć dowiązania symbolicznego do pliku, który już istnieje.
Aby rozwiązać ten problem, musisz całkowicie usunąć dwa pakiety, używając:
i ponownie zainstaluj tylko
nodejs
pakiet za pomocą polecenia:i utwórz łącze symboliczne, używając:
lub zainstaluj ten
nodejs-legacy
, który rozwiąże ten problem za pomocą polecenia:źródło
Dla mnie
node
polecenie to NodeJS zainstalowane przez,nvm
anodejs
polecenie to NodeJS zainstalowane przy użyciuapt-get
źródło