2013-02-12 11 views
25

Ho installato il pacchetto di NPM globale jslint e vive quicosa è ~/.npm dir per?

$ ls -la /usr/local/bin/jslint 
lrwxr-xr-x 1 lust admin 40 Feb 12 15:31 /usr/local/bin/jslint -> ../lib/node_modules/jslint/bin/jslint.js 

$ ls -la /usr/local/lib/node_modules/jslint/bin 
total 8 
drwxr-xr-x 3 lust staff 102 Apr 16 2012 . 
drwxr-xr-x 10 lust staff 340 Feb 12 15:31 .. 
-rwxr-xr-x 1 lust staff 2330 Apr 16 2012 jslint.js 

$ which jslint 
/usr/local/bin/jslint 

$ head -3 /usr/local/bin/jslint 
#!/usr/bin/env node 

var linter = require("../lib/linter"); 

Quindi è senza alcun dubbio a questo punto che jslint è infatti in corso di esecuzione da questa dir e non qui:

$ ls -la .npm/jslint/0.1.9/package/bin/   
total 8 
drwxr-xr-x 3 lust staff 102 Apr 16 2012 . 
drwxr-xr-x 9 lust staff 306 Feb 12 15:31 .. 
-rwxr-xr-x 1 lust staff 2330 Apr 16 2012 jslint.js 

Sembra che ci siano due copie del pacchetto, una in /usr/local/ e una in ~/.npm. Perché ce n'è uno in .npm ed è sicuro per me rimuoverlo?

risposta

61

~/.npm è una cache utilizzata da NPM per evitare di scaricare nuovamente lo stesso pacchetto più volte. Non c'è nulla di male a rimuoverlo. Puoi svuotarlo con il comando:

npm cache clean 
+0

Eccellente! grazie –

+0

Una domanda a riguardo, ho provato a fare '' '$ npm cache clean''' e ho ricevuto un errore' '' Errore: EACCES, unlink'''. Suggerisce di fare come amministratore, anche se faccio $ sudo npm installa tutto va a casa mia/.npm dir ?? non dovrebbe essere ... – alexserver

+1

@alexserver Vorrei provare a usare 'chown -r' per recuperare la proprietà del tuo regista' ~/.npm', quindi eseguire di nuovo 'npm cache clean'. –