2013-02-12 10 views
25

Mam zainstalowany globalny pakiet npm jslint i żyje tutajczym jest katalog ~/.npm?

$ 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"); 

Tak jest bez wątpienia w ogóle w tym momencie jslint w rzeczywistości jest prowadzony z tego katalogu i nie tutaj:

$ 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 

Wygląda na dwie kopie paczki, jedną w /usr/local/ i jedną w ~/.npm. Dlaczego jest jeden w .npm i czy mogę go bezpiecznie usunąć?

Odpowiedz

61

~/.npm to pamięć podręczna, której npm używa, aby uniknąć wielokrotnego wielokrotnego pobierania tego samego pakietu. Nie ma nic złego w usuwaniu go. Możesz go opróżnić za pomocą polecenia:

npm cache clean 
+0

Świetnie! dziękuję –

+0

Jedno pytanie na ten temat, próbowałem zrobić '' 'npm cache clean' 'i otrzymałem błąd' '' Błąd: EACCES, unlink''''. Sugeruje, aby zrobić to jako administrator, nawet jeśli robię $ sudo npm install wszystko idzie do mojego katalogu domowego/.npm ?? to nie powinno być ... – alexserver

+1

@alexserver Chciałbym spróbować użyć 'chown -r', aby odzyskać własność twojego' ~/.npm', a następnie ponownie uruchomić 'npm cache clean'. –