Mam dwie maszyny Ubuntu 12.10: maszyna A to VMWare VM, a maszyna B to stary laptop Acer. Na obu komputerach zainstalowałem węzeł za pomocą apt-get. Jednak komputer A instaluje główny plik binarny jako, /usr/bin/node
a komputer B jako /usr/bin/nodejs
. Oto niektóre zachowania, które zaobserwowałem:
- Oba urządzenie powraca
/usr/bin/node
w odpowiedzi nawhich node
polecenie. Jednak nie ma takiego pliku na komputerze B. - Wydanie polecenia
node
działa na maszynie A, a nie na B. Na B muszę użyćnodejs
zamiast tego. - Na B znajduje się plik binarny o nazwie / sbin / node, A go nie ma.
Te zachowania powodują problem z niespójnością podczas programowania na obu komputerach. Na razie pracowałem nad tym, zmieniając nazwy plików binarnych na B jako takie:
sudo mv /sbin/node /sbin/node-sbin
sudo ln -s /usr/bin/nodejs /usr/bin/node
Czy istnieje sposób, aby to naprawdę naprawić, aby węzeł został zainstalowany jako /usr/bin/node
zamiast /usr/bin/nodejs
?
aktualizacja: zmodyfikowano poniższe instrukcje, aby użyć
nodejs-legacy
pakietu. ( więcej informacji o starszym węźle )Spróbuj całkowicie usunąć pakiet węzła powodującego konflikt:
Zdarzyło mi się to, gdy nieświadomie zainstalowałem
node
pakiet inny niż node.js. Chociaż zrobiłem toapt-get remove node
przed zainstalowaniem poprawnegonodejs
pakietu, chyba--purge
argument jest wymagany.Informacje w tle :
źródło
/usr/bin/node
w Ubuntu 13.10. Odpowiedź @ user229115 poniżej działa jednak.sudo apt-get install nodejs nodejs-legacy
dostaniesznode
plik binarny jako node.js. Ale jeśli już zainstalowałeśnode
(program amatorskich pakietów węzłów radiowych), oczywiście musisz go usunąć.nodejs-legacy
pakietu będzie działać.nodejs-lecacy
pakietu, który w rzeczywistości może być tylko dowiązaniem symbolicznym donodejs
pliku wykonywalnego ...Niestety dla mnie tworzenie dowiązania symbolicznego nie działało. Jednak działało dla mnie stworzenie aliasu. W
~/.bashrc
lub~/.bash_aliases
(jeśli~/.bashrc
ładuje ten plik), po prostu dodaj następujący wiersz:Uruchom ponownie sesję bash, pisząc
bash
w konsoli, a Twój alias będzie teraz działał.źródło
source ~/.bashrc
aby ponownie załadować plik .bashrc (jeśli chcesz uniknąć ponownego uruchamiania terminala) czytaj więcej ..hash node
wywołania w istniejących terminalach, ponieważ nowoczesne powłoki pamiętają lokalizację poleceń, które były wcześniej wyszukiwane w PATH.hash
Polecenie wbudowane w takich skorup mówi im przerobić odnośnika, i zapamiętać nową lokalizację.Myślę, że to jest to:
Korzystanie z alternatyw Debiana.
ź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:
źródło
Na Ubuntu 14.04 miałem ten sam problem z węzłem. Nie działałem „węzeł”, a działałem „nodejs”. właśnie zrobiłem
a zaraz potem węzeł działał, a także nodejs :) Jestem nowy w Linuksie i to jest dla mnie błąd. Jednak Bower działa !!!
źródło
Mój pulpit to obecnie Ubuntu 15.10 AMD64, więc użyję następującego adresu URL w moim przykładzie instalacji (ponownie, dystrybucja różni się):
Następnie zmień katalog na swoim katalogu pobierania:
Z katalogu pobierania wykonaj następujące czynności:
Potwierdź instalację pliku node.js, wykonując następujące czynności:
ref. http://www.hostingadvice.com/how-to/install-nodejs-ubuntu-14-04/
źródło
tar
poleceniesudo
.