2015-05-16 11 views
93

nodejs ho installato utilizzando:Node per sempre/usr/bin/env: nodo: No such file or directory

apt-get install nodejs 

npm Poi ho installato utilizzando:

apt-get install npm 

e poi ho installato per sempre utilizzando:

npm install forever -g 

ora vado a mio progetto /var/www/myproject

.210

e tentare di eseguire forever start server.js

allora ottengo il seguente messaggio:

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

Qualcuno può dirmi che cosa sta succedendo?

+0

Eventuali duplicati di [Impossibile installare NodeJs:/usr/bin/env: nodo: Nessun file o directory] (http://stackoverflow.com/questions/26320901/cannot- install-nodejs-usr-bin-env-node-no-such-file-or-directory) – marcanuy

+0

Ottengo questo bug e sto usando Node Version Manager. – munchschair

risposta

243

È necessario link simbolico le nodejs eseguibili al nodo

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

La ragione di questo è che quando si fa "apt-get install nodo", si installa un pacchetto non correlato, così hanno dovuto scegliere un diverso nome in modo che non sarebbe in conflitto

+4

cosa è $ (che nodejs) "è il codice che si incolla qualcosa dovrei semplicemente copiare incolla o? –

+10

" $ (which nodejs) "ottiene il percorso dell'eseguibile nodejs. Quando inserisci qualcosa all'interno di" $() "esso viene eseguito e quindi inserito nel comando contenente – chedabob

+0

Questo ha funzionato il tuo genio !: D grazie mille! –

9

E 'meglio se si aggiorna alla versione più recente del nodo

  1. sudo NPM di cache -f pulita
  2. sudo npm installare -Gn
  3. sudo n stabile
42

Mentre la risposta accettata risolve il problema, il modo corretto di fare che, almeno con Debian Jessie e in avanti e Ubuntu 14.4 e in avanti 1 è quello di installare nodejs-legacy:

apt-get install nodejs-legacy 

La ragione è che Debian già aveva un pacchetto (nodo) fornendo /usr/bin/nodo, e le nodejs nodo bina dovevamo essere installati in/usr/bin/nodejs.

Il pacchetto nodejs-legacy fornisce un link simbolico da/usr/bin/nodejs a/usr/bin/nodo (e conflitti con il pacchetto nodo).

Fonte: [CTTE #614907] Resolution of node/nodejs conflict e Debian bug #614907: node: name conflicts with node.js interpreter

+0

Questo è il modo corretto su Debian/Ubuntu +1, ottimo contesto per chi non ha familiarità con il sistema operativo. – Ligemer

Problemi correlati