Come disinstallare un pacchetto installato usando il collegamento npm?


162

Quando si installa un pacchetto nodo usando sudo npm link nella directory del pacchetto, come posso disinstallare il pacchetto una volta terminato lo sviluppo?

npm linkinstalla il pacchetto come collegamento simbolico nella posizione del pacchetto globale del sistema ('/ usr / local / lib`). Ciò consente di testare il pacchetto mentre lo si sta ancora sviluppando, senza doverlo installare più e più volte.

Quale comando npm devo eseguire per rimuovere di nuovo il collegamento?

Risposte:


166

Il pacchetto può essere disinstallato utilizzando lo stesso comando di disinstallazione o rm che può essere utilizzato per rimuovere i pacchetti installati. L'unica cosa da tenere a mente è che il collegamento deve essere disinstallato a livello globale - la --globalbandiera deve essere fornita.

Per disinstallare il foopacchetto collegato a livello globale , è possibile utilizzare il seguente comando (utilizzando sudose necessario, a seconda della configurazione e delle autorizzazioni)

sudo npm rm --global foo

Questo disinstallerà il pacchetto.

Per verificare se è installato un pacchetto, è npm lspossibile utilizzare il comando:

npm ls --global foo

5
Se non sei sicuro del nome del pacchetto collegato, puoi anche fare un npm ls --global --depth 0elenco di tutte le dipendenze di livello superiore
schu34

1
Questo non ha funzionato per me a causa di problemi di autorizzazione, anche con sudo. Ho creato la directory mancante con un manichino package.jsoncon il campo namee version( namedovrebbe corrispondere al nome del pacchetto, versionpuò essere qualsiasi cosa). All'interno di quella cartella ho corso npm link && npm unlinke ha funzionato.
Silvenon,

npm uninstalldalla cartella della libreria locale funzionerà anche.
barra rovesciataN

132

puoi usare unlinkper rimuovere il link simbolico.

Per esempio:

cd ~/projects/node-redis 
npm link                 
cd ~/projects/node-bloggy
npm link redis             # links to your local redis

Per reinstallare da package.json:

npm unlink redis
npm install

https://www.tachyonstemplates.com/npm-cheat-sheet/#unlinking-a-npm-package-from-an-application


4
Non è unlinklo stesso rmdi npm? Condividono la stessa pagina man (con uninstall).
nwinkler,

1
@nwinkler puoi condividere un link?
Blair Anderson,

12
Il codice sorgente npm utilizza rm, unlink, remove, r e un come alias per la disinstallazione: github.com/npm/npm/blob/… - vedere la riga 66ff.
nwinkler,

Il link in fondo a questa risposta è morto per me.
Liron Yahdav,

Non npm irimuove tutti i collegamenti comunque?
Toivo Säwén,

19

npm link pain:

-Nome del modulo gulp-task

-Project name project-x


Vuoi collegare gulp-task :

1: vai alla directory gulp-task quindi fai npm link esegui il collegamento simbolico del progetto ai tuoi moduli globali

2: Vai al progetto project-x, quindi npm installassicurati di rimuovere l'attuale directory node_modules


Ora vuoi rimuovere questa follia e usare il vero gulp-task , abbiamo due opzioni:

Opzione 1: scollega via npm:

1: vai al tuo progetto e fallo npm unlink gulp-task questo rimuoverà il modulo installato collegato

2: vai alla directory gulp-task e fai npm unlinkper rimuovere il link simbolico.Si noti che non abbiamo usato il nome del modulo

3: festeggia


Che cosa succede se questo non ha funzionato, verifica individuando il modulo installato globale. La mia posizione è ls -la /usr/local/lib/node_modules/se stai usando NVV sarà un percorso diverso


Opzione 2: rimuovere il collegamento simbolico come un normale guru di Linux

1: individua le tue dipendenze globali cd /usr/local/lib/node_modules/

2: la rimozione di symlink sta semplicemente usando il rmcomando

rm gulp-task assicurati di non averlo /alla fine

rm gulp-task/ è sbagliato 🔥🚨

rm gulp-task ✔️


facendo un semplice npm-unlinkrimosso tutti i pacchetti nel mio progetto.
cst1992,

2

Se hai fatto qualcosa di simile accidentalmente npm linkgeneratore-webapp dopo che hai cambiato, è possibile risolvere il problema clonando il generatore di destra e di collegamento che .

git clone https://github.com/yeoman/generator-webapp.git;
# for fixing generator-webapp, replace with your required repository
cd generator-webapp;
npm link;

0

"npm install" sostituisce tutte le dipendenze nei vostri node_modules installati con "npm link" con le versioni di npmjs (specificate in package.json)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.