Come modificare il percorso dell'applicazione in OSX

0

Ho rimosso PhoneGap da

/usr/local/bin/phonegap  

e l'ho installato di nuovo usando npm , ora quando è in esecuzione phonegap , vedo questo errore:

-bash: /usr/local/bin/phonegap: No such file or directory

mentre phonegap è installato in

/Users/myUserName/.nvm/v5.8.0/lib/node_modules

Come posso risolvere questo problema?

    
posta Reyraa 07.04.2016 - 09:26
fonte

2 risposte

3

Non posso parlare allo strano percorso in cui hai installato questo software, ma il motivo per cui la shell dice che non può trovarlo è che bash (e altre shell) mantengono una tabella hash con le posizioni dei binari eseguibili che sono stati eseguiti prima. La ragione di ciò è che la shell non deve effettivamente cercarla ogni volta che è necessario eseguirla.

Vedi: link

Per forzare bash a rifare la tabella, usa "hash -r".

    
risposta data 10.04.2016 - 01:06
fonte
1

Sembra che tu abbia bisogno di link

/Users/myUserName/.nvm/v5.8.0/lib/node_modules/phonegap

a

/usr/local/bin/phonegap

Passaggio 1

Nel terminale, esegui

ls -l /usr/local/bin/phonegap

Probabilmente vedrai qualcosa di simile:

lrwxr-xr-x 1 jsmith wheel 36 Mar 26 12:05 /usr/local/bin/phonegap -> /some/other/path/to/phonegap

Se inizia con una percentuale in minuscolo di% co_de, allora è un collegamento. Probabilmente sta puntando a un file che non esiste più, quindi puoi rimuoverlo andando

rm -f /usr/local/bin/phonegap

Fai attenzione con L significa "rimuovi" o "elimina" e non c'è annullamento.

Quindi, dovrai creare un nuovo collegamento dal rm esistente al luogo in cui dovrebbe essere:

ln -s /Users/myUserName/.nvm/v5.8.0/lib/node_modules/phonegap /usr/local/bin/phonegap

Tu non vuoi aggiungere phonegap al tuo $ PATH perché alla fine cambierà. Questa è l'intera ragione per collegarli a un percorso statico come /Users/myUserName/.nvm/v5.8.0/lib/node_modules/ .

Nota: potrebbe essere necessario aggiungere /usr/local/bin/ prima di questi comandi, se ottieni qualche tipo di errore di autorizzazione.

(Inoltre, mi dispiace per il riferimento sudo in precedenza. Avevo copiato / incollato un vero e proprio file di esempio dal mio computer e intendevo cambiarlo e ne ho perso uno.)

    
risposta data 10.04.2016 - 01:19
fonte

Leggi altre domande sui tag