Zainstalowałem nodejs
z apt-get
dnia14.04
Kiedy robię nodejs -v
v0.10.25
a kiedy to zrobię node -v
node : command not found.
Więc chcę alias nodejs
donode
Wstawiłem linię ~/.bashrc
alias node=nodejs
Teraz mogę uzyskać dostęp nodejs
za node
pomocą terminala.
Ale w moim projekcie używam grunt
który wystrzeliwuje nodemon
pośrednictwem gruntfile.js
. Teraz nodemon
próbuje uruchomić node
zamiastnodejs
Więc znowu mam ten sam problem node : command not found
.
Dlatego alias nie działa w przypadku nieinteraktywnych powłok niezalogowanych.
Gdzie powinienem utworzyć alias do tego konkretnego celu i rozwiązać mój problem?
/etc/profile
irestart
; po zmianie dowolnegorc
pliku lub pliku profilu musisz go pobrać.Odpowiedzi:
Cóż, co ciekawe, mam
node
. Jest to symlink systemu alternatywnego i nie jestem do końca pewien, jak go dostałem (w sposób, w jaki nie masz). Minęło trochę czasu, odkąd go zainstalowałem, więc może poszedłem za tym postem SO lub podobnym ... Kto wie!Możesz po prostu napisać mały alias bash, ale będzie to działać tylko dla jednego użytkownika na raz. Bardziej sensowne może być dodanie go jako globalnego dowiązania symbolicznego. Nie jestem pewien, czy istnieje jakaś wartość przechodząca przez system alternatyw, więc możemy po prostu go wpakować
/usr/local/bin
(w tym miejscu powinny iść pliki binarne niezarządzane przez pakiet):Edycja: Ten wpis SO , o którym mówiłem, faktycznie prowadzi z powrotem do jednego z naszych, co może być istotne. Sugeruje to, że instalacja
nodejs-legacy
jest rozwiązaniem.źródło
whereis nodejs
a następnie zróbln -s /usr/bin/nodejs ~/bin/node
(tak, niesudo
tam); zamień/usr/bin/nodejs
na ścieżkę, którą podążają twoi nodejsOstatnio naprawiono to za pomocą
nodejs-legacy
.Uruchom następujące polecenie:
sudo apt-get install nodejs-legacy
To powinno to naprawić.
źródło
Ponieważ katalog bin jest już w katalogu
PATH
, możesz po prostu utworzyć dowiązanie symboliczne o nazwie węzeł w~/bin
katalogu łączącym z rzeczywistym plikiem binarnym.źródło