无法删除全局包

时间:2017-02-21 17:06:42

标签: node.js macos npm

尝试删除全局包,但似乎没有将其删除。

$ eslint -v
v1.10.3
$ npm uninstall eslint -g
$ sudo npm uninstall eslint -g
$ eslint -v
v1.10.3
$ sudo eslint -v
v1.10.3
$ which eslint
/usr/local/bin/eslint

您可以看到eslint仍然是版本1.10.3。为什么不删除?

1 个答案:

答案 0 :(得分:2)

可能会发生的事情是,npm正试图将其从一个地方删除,但你仍然将它安装在其他地方。

例如,这是一个问题。 npm程序使用shebang行中的#!/usr/bin/env node而不是安装它的node二进制文件的确切补丁(对于Node的二进制安装很常见),尤其是当你有多个版本的节点安装在很多地方。

看看结果是什么:

which node
which npm
cat `which npm` | head -1
cat `which eslint` | head -1
ls -alp `which npm`
ls -alp `which eslint`
cat $PATH

并尝试缩小问题范围。