macos - ~/.npm 目录是干什么用的?

标签 macos node.js npm zsh

我已经安装了全局 npm 包 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

关于macos - ~/.npm 目录是干什么用的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14842201/

相关文章:

objective-c - cocoa 图片库窗口

javascript - LinkedIn验证用户身份验证 token 服务器端

node.js - 在 ms-rest-azure 中,当我尝试获取身份验证 token 时,如何指定资源?

node.js - ( Node )sys 已弃用。请改用 util。 - 钛加速器

c++ - 鉴于文件路径为字符串,获取文件所在文件夹的正确方法是什么?

python - 在 Mac Os X Mavericks (10.9) 上安装 Pillow for Python 3.4

java - 从 macOS 系统设置中获取日期和时间格式

javascript - 错误 [ERR_REQUIRE_ESM] : require() of ES Module while using SSR (Inertiajs)

node.js - NPM 可以安装依赖项的 .git 文件夹吗?

node.js - Docker EACCES全局安装bunyan依赖出错