2015-05-16 16 views
93

Mam zainstalowany nodejs wykorzystujące:Węzeł na zawsze/usr/bin/env: węzeł: Nie ma takiego pliku lub katalogu

apt-get install nodejs 

to mam zainstalowane npm wykorzystujące:

apt-get install npm 

A potem mam zainstalowane na zawsze za pomocą:

npm install forever -g 

teraz idę do mojego projektu /var/www/myproject

i próba uruchomienia forever start server.js

następnie pojawia się następujący komunikat:

/usr/bin/env: node: No such file or directory 

może ktoś mi powiedzieć co się dzieje?

+0

Możliwy duplikat [Nie można zainstalować NodeJs:/usr/bin/env: węzeł: Nie ma takiego pliku lub katalogu] (http://stackoverflow.com/questions/26320901/cannot- install-nodejs-usr-bin-env-node-no-that-file-or-directory) – marcanuy

+0

Otrzymuję ten błąd i korzystam z Menedżera wersji węzła. – munchschair

Odpowiedz

243

Trzeba podlinkowujemy z nodejs wykonywalne do węzła

sudo ln -s "$(which nodejs)" /usr/local/bin/node 

Powodem tego jest to, że kiedy zrobić „apt-get install węzeł”, instaluje niepowiązanych pakiet, więc musieli wybrać inny nazwisko, więc nie byłoby sprzeczne

+4

co to jest $ (który nodejs) "to kod, który wklejasz, powinienem skopiować tylko wklej lub? –

+10

" $ (który nodejs) "dostaje ścieżkę do pliku wykonywalnego nodejs. Gdy umieścisz coś wewnątrz" $() "to zostanie wykonany, a następnie wstawiony do polecenia zawierającego – chedabob

+0

To zadziałało jak genialne !: D bardzo dziękuję! –

9

to lepiej po aktualizacji do najnowszej wersji węzła

  1. sudo npm cache czyste -f
  2. sudo npm zainstalować -gn
  3. sudo n stabilny
42

Choć przyjął odpowiedź rozwiązuje problem, prawidłowy sposób, aby to zrobić, przynajmniej z Debianem Jessie i do przodu i Ubuntu 14.4 i przekazania 1 jest zainstalowanie nodejs-legacy:

apt-get install nodejs-legacy 

powodem jest to, że Debian już pakiet (węzeł) zapewniający /usr/bin/node, a nodejs węzłów bina ry musiał zostać zainstalowany w/usr/bin/nodejs.

nodejs-legacy pakiet zawiera link symboliczny z/usr/bin/nodejs do/usr/bin/węzła (i konfliktów z węzła pakietu).

Źródło: [CTTE #614907] Resolution of node/nodejs conflict i Debian bug #614907: node: name conflicts with node.js interpreter

+0

To jest poprawny sposób na Debianie/Ubuntu +1, świetny kontekst dla tych, którzy nie znają systemu operacyjnego. – Ligemer