无法删除全局包

试图删除一个全局包,它似乎并没有被删除。

$ 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。 为什么这不是删除?

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

例如npm程序在shebang行中使用#!/usr/bin/env node ,而不是安装它的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 

并试图缩小这个问题。