Macos ~/.npm dir的作用是什么?
我已经安装了globalnpm包Macos ~/.npm dir的作用是什么?,macos,node.js,npm,zsh,Macos,Node.js,Npm,Zsh,我已经安装了globalnpm包jslint,它就住在这里 $ 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
jslint
,它就住在这里
$ 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");
因此,毫无疑问,jslint
实际上是从这个目录运行的,而不是从这里运行的:
$ 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
该软件包似乎有两个副本,一个在
/usr/local/
中,另一个在~/.npm
中。为什么.npm
中有一个,我删除它安全吗 ~/.npm
是npm用来避免多次重新下载同一软件包的缓存。把它取下来没有害处。您可以使用以下命令将其清空:
npm cache clean
关于这个问题,我试图执行
$npm cache clean
,但得到一个错误错误:EACCES,取消链接。它建议作为一名管理员,即使我安装了$sudo npm,所有东西都会进入我的家/.npm dir??它不应该是…@alexserver我会尝试使用chown-r
来收回你的~/.npm
控制器的所有权,然后再次运行npm cache clean
。似乎即使我安装了sudo npm-g,它仍然会保存到我的~/.npm中。。。无论如何,我在另一篇文章中看到,sudo npm安装是不受鼓励的。谢谢