2013-10-02 12 views
9

ho installato NVM su una macchina Ubuntu, ma, quando ho messo nel crontab per l'esecuzione durante il riavvio:"che NVM" è andato

@reboot nvm use 0; 

non ha funzionato, e ho avuto una mail da il demone cron, dicendo:

/bin/sh: 1: nvm: not found 

Così, ho pensato che questo un problema percorso, e ha cercato di trovare dove è installato NVM. Con mia grande sorpresa, ho ottenuto risultati vuoti:

[email protected]:~# which nvm 
[email protected]:~# 

Ma, NVM per sé funziona, anche dopo il riavvio:

[email protected]:~# nvm 

Node Version Manager 
... 

Questo è molto strano - come può essere che il sistema trova il programma NVM , quando "which nvm" è vuoto ?!

E, cosa più importante, cosa devo fare per fare in modo che il programma cron trovi NVM all'avvio?

+0

Questo risponde alla tua domanda Erel? –

+0

Duplicato di questi: http://stackoverflow.com/questions/20921427/nodejs-gone-after-linux-reboot http://stackoverflow.com/questions/24585261/nvm-keeps-forgetting-node-in-new- terminale tornata – Tyler

risposta

7

Il comando nvm non è un file ma piuttosto una funzione di shell.

Il source ~/.nvm/nvm.sh aggiunge queste funzioni alla shell corrente. E poiché questi comandi non sono file, non vengono visualizzati quando si utilizza which nvm.

Guardando il file .nvm/nvm.sh, è possibile vedere una funzione nvm() {...} definita che fornisce tale funzionalità.

Cron è probabile che utilizzi come utente diverso e che l'utente debba avere source ~/.nvm/nvm.sh aggiunto al suo contesto di shell prima dell'esecuzione.

Problemi correlati