Zainstalowałem nodejs na Ubuntu z instrukcji podanych tutaj
Kiedy piszę node --version
w terminalu, widzę to:
-bash: /usr/sbin/node: No such file or directory
Widzę jednak węzeł w /usr/sbin/
katalogu.
Pisanie npm --version
programów 1.3.5
Pisanie nodejs --version
programówv0.10.15
Ponadto widzę węzeł w /usr/bin/
katalogu.
Jak mam zacząć node
pracę?
Ponadto, jeśli użyję zsh zamiast bash, wtedy node
polecenie działa.
ls -l /usr/bin/node
?lrwxrwxrwx 1 root root 22 Jan 1 2013 /usr/bin/node -> /etc/alternatives/node
export | grep PATH
gdy nie jest używanyzsh
? (powinien/usr/bin
między innymi drukować )Odpowiedzi:
Musisz ręcznie utworzyć dowiązanie symboliczne
/usr/bin/node
. Skrót do powłok kompatybilnych z bash:Lub jeśli używasz niestandardowych powłok, po prostu zakoduj ścieżkę, którą znajdziesz
which nodejs
:Później edytuj
To wyjaśnienie znalazłem w opublikowanym linku
Później edytuj
Minęło trochę czasu, odkąd odpowiedziałem na to. Chociaż rozwiązanie, które tutaj opublikowałem, działało dla mnie kilka razy, użytkownicy zgłosili kilka innych rozwiązań w komentarzach:
Od @ user229115
sudo update-alternatives --install /usr/bin/node node /usr/bin/nodejs 10
From AskUbuntu (użytkownik leftium)
źródło
zsh
, tonode
polecenie działa.sudo apt-get remove node
, ale mówiPackage node is not installed, so not removed
/usr/bin/env node
nie zadziałała. @ Rozwiązanie BennyMcBenBena zadziałałonodejs-legacy
opis pakietu. Odpowiedź połączona przez @BennyMcBenBen została zaktualizowana o podobne instrukcje.Myślę, że to jest to:
Korzystanie z alternatyw Debiana.
źródło
update-alternative
dokumenty. Jeśli to naprawdę działa, to jest lepsze rozwiązanie :)update-alternatives --install /usr/local/bin/fribjazt node /usr/bin/nodejs 10
.) Do każdego własnego, ale wolę równinęln
.source ~/.bashrc
to zrobić, aby wejść w życieNajwyraźniej rozwiązanie różni się w zależności od wersji Ubuntu. Następujące działało dla mnie na Ubuntu 13.10:
HTH
Edycja: Ogólna zasada:
Jeśli masz zainstalowany,
nodejs
ale brakuje Ci/usr/bin/node
pliku binarnego, zainstaluj równieżnodejs-legacy
. To po prostu tworzy brakujący link miękki.Według moich testów, w Ubuntu 17.10 i nowszych jest już zainstalowany link programowy kompatybilności
/usr/bin/node
ponodejs
zainstalowaniu, więcnodejs-legacy
brakuje go w tych wydaniach, ponieważ nie jest już potrzebny.źródło
nodejs-legacy
nie wymaga wiele konserwacji. Po prostu dodaje softlink podobny dosudo ln -s nodejs /usr/bin/node
, przynajmniej na LTS 14.04Mam ten sam problem w Ubuntu 14.04.
Zainstalowałem „nodejs” i działa, ale tylko jeśli użyję polecenia „nodejs”. Jeśli spróbuję użyć „węzła”, nic się nie dzieje.
Naprawiłem ten problem w następujący sposób:
Zainstaluj nodejs-legacy
Po wpisaniu „node” w wierszu polecenia pojawia się komunikat o błędzie „/ usr / sbin / node: brak takiego pliku lub katalogu”
Po drugie, co zrobiłem, jest to symboliczny link do „nodejs”:
źródło
node
ma być zainstalowany/usr/bin/
i nie/usr/sbin/
. Wygląda to dla mnie tak, jakbyś zainstalował Ubuntunode
pakiet z HAMRadio (zobacz packages.ubuntu.com/trusty/all/node/filelist ) i zapomniał uruchomićhash -r
na poziomie powłoki, tak że powłoka nadal pamiętał złą drogę. Drugi również toln
naprawił, ale nie jest już potrzebny po opuszczeniu tej powłoki.node
(/usr/sbin/node
dla czegoś zupełnie innego),nodejs
(/usr/bin/nodejs
) inodejs-legacy
(/usr/bin/node
, zależy od pakietunodejs
).node -v => 0.10.2
jednocześnienodejs -v => 5.5.0
. Uruchomienie poleceniawhich node
zawsze wskazywało na tę instalację lokalną. W końcu musiałem to zrobićunset NODE_PATH
, co wskazywało na instalację lokalną, aby to naprawić. Po tym,node -v => 5.5.0
inpm install
zaczął pracować dla pakietów w zależności od węzła => 5,0.To mi się też przydarzyło.
Problem polegał na tym, że jakiś czas temu zainstalowałem węzeł ze źródła. Bieganie
zawsze wskazywał na tę lokalną instalację. Również,
wskazał na instalację lokalną.
usunięcie katalogu z instalacją źródłową nie pomogło. Właśnie złamał polecenie węzła. Ostatecznie załatwienie zmiennej środowiskowej NODE_PATH i czyszczenie, a następnie ponowna instalacja nodejs załatwiły sprawę.
Po tym,
i npm install zaczął działać dla pakietów w zależności od Węzła => 5.0.
źródło
Menedżer wersji węzła (nvm)
Jeśli chcesz zainstalować wiele wersji nodejs i łatwo przełączać się między nimi, sugerowałbym użycie Node Version Manger . Rozwiązuje również problem nazewnictwa (
node
vsnodejs
)To dość proste:
Zainstaluj wersję nodejs:
Teraz masz nodejs 4.4 oprócz wersji już zainstalowanej i możesz po prostu użyć
node
polecenia, aby przejść do nowo zainstalowanej wersji:Możesz zainstalować więcej wersji nodejs i łatwo przełączać się między nimi:
źródło
nvm
dotyczące sposobu instalacji Node.js na serwerze Ubuntu 14.04Jestem nowy w tym wszystkim, ale dla mnie zadziałał prosty alias:
przynajmniej do uruchamiania rzeczy bezpośrednio w bash i wykonywania plików .js.
źródło
rlwrap
. Dzięki!A może skorzystasz z oficjalnych instrukcji ze strony nodejs :
W przypadku wersji 7:
Dla v6:
Dla v4:
Testowałem je z Windows Bash (przez podsystem dla Linuksa - 14.04) i raspbian (oparty na ARM Debian). Uruchomienie
sudo apt-get install -y nodejs
bez pierwszego uruchomienia skryptu instalacyjnego spowoduje uzyskanie węzła 0.10.Jeśli planujesz zainstalować natywne moduły npm wymagające kompilacji, uruchom także:
Uwaga: jest to zalecana ścieżka dla każdej dystrybucji opartej na Debianie we wszystkich architekturach.
źródło
Dodanie do poprawnej odpowiedzi @ randunel (nie mogę jeszcze skomentować SO):
Musiałem także dowiązać symbolicznie / usr / local / bin / node do / usr / bin / nodejs.
Najwyraźniej zastąpiło to polecenie / usr / bin / node.
Nie mam pojęcia, jak to się stało, ale mam nadzieję, że pomoże to komuś innemu, ponieważ trudno było zrozumieć, dlaczego powyższe nie działało dla mnie.
źródło
Późna odpowiedź, ale dla aktualnych informacji ...
Jeśli instalujesz node.js przy użyciu metody zalecanej z pliku Readme instalacji github dla węzła , sugeruje to postępowanie zgodnie z instrukcjami w artykule na blogu nodesource , zamiast instalowania z nieaktualnego repozytorium apt-get, node.js powinien uruchomić się za pomocą
node
polecenia, a takżenodejs
polecenie, bez konieczności tworzenia nowego dowiązania symbolicznego.Ta metoda z artykułu to:
Pamiętaj, że dotyczy to wersji v0.12, która prawdopodobnie stanie się nieaktualna w niedalekiej przyszłości.
Ponadto, jeśli jesteś za korporacyjnym proxy (takim jak ja), będziesz chciał dodać opcję -E do polecenia sudo, aby zachować zmienne środowiskowe wymagane dla proxy:
curl -sL https://deb.nodesource.com/setup_0.12 | sudo -E bash -
źródło
To działa dla mnie:
Po wykonaniu instrukcji zawartych w tym linku.
źródło
Jeśli korzystasz z instancji AWS EC2 z uruchomioną instancją Ubuntu (przetestowaną na Ubuntu 16.x), poniższe kroki mogą Ci pomóc:
Jeśli wszystko jest w porządku, ostatnie polecenie powinno mieć wyjście takie jak: v6.xx
Jeśli nie, uruchom następujące czynności:
Mam nadzieję, że to pomoże. Pomogło mi to magicznie (hehe).
źródło
Miałem ten sam problem, który pomógł mi link symboliczny: sudo ln -s / usr / bin / nodejs / usr / bin / node po tym sudo npm install -g phantomjs-prebuilt
gładko poszło
źródło
Najlepszym sposobem na zainstalowanie nodejs jest NVM (Node Version Manager)
Usuń poprzednie wersje:
Usuń także wszystkie moduły node_ by
$ sudo rm -rf node_modules
w katalogu zawierającym ten folder.Node i Nodejs są technicznie tym samym. Zmieniło się tylko nazewnictwo.
Najpierw zainstaluj lub zaktualizuj NVM
uruchomić jako root
Następnie
LUB
Sprawdź nvm do ścieżki
jeśli pojawi się błąd związany z listą, zainstaluj git.
Uruchom ponownie:
LUBSprawdzanie wersji
TRYBUNAŁ INFORMACYJNY:
źródło
Utworzyłem dowiązanie symboliczne, ale wciąż nie działało.
Zapomniałem zrestartować terminal (moje połączenie szpachlowe). Po tym, jak działało bez dowiązania symbolicznego :)
źródło
Chociaż masz odpowiedź, chciałem tylko zaznaczyć, że
node
polecenie (bez żadnych parametrów) uruchomi węzeł w trybie REPL -read-eval-print-loop , aby wykonać surowy kod javascript.Innym sposobem użycia
node
polecenia jest podaniejs
pliku jako parametru. Tak najczęściej go używamy.źródło
Usunięcie istniejącego węzła i nodejs jest opcjonalne, ale alternatywnie należy zainstalować najnowsze nodejs 7.x.
źródło
Wystarczy użyć NVM (Node Version Manager) - https://github.com/creationix/nvm
Stało się standardem zarządzania Node.js.
Kiedy potrzebujesz nowej wersji:
Jeśli coś pójdzie nie tak, zawsze możesz wrócić
źródło
Możesz wykonać to polecenie, aby włączyć nodejs:
Uwaga: Sprawdź wersję swojego węzła.
Źródło: https://developers.redhat.com/products/softwarecollections/hello-world/
źródło
https://nodejs.org/en/download/
źródło