node.js - 无法删除全局包

标签 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版本。为什么不删除?

最佳答案

可能发生的情况是 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

并尝试缩小问题范围。

关于node.js - 无法删除全局包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42373646/

相关文章:

尝试安装软件包 "loadRequestedDeps → netwo"时 NPM 挂起

node.js - “submodule”似乎是一个 git 命令,但我们无法执行它

javascript - Angular $http POST 无法将数据发送到expressjs

node.js - 是否可以仅在尚未安装 npm 包的情况下安装它?

java - Mac OS X 上的 Java 安装在哪里?

c++ - 尝试在 mac osx 上编译 tcpxtract 会给出未找到的 i386 符号

c++ - 为什么在 boost 程序 (boost::filesystem) 中输出 "Bus error: 10"?

node.js - npm 不会在本地安装包。怎么了?

node.js - 严重错误 : Package OpenEXR was not found in the pkg-config search path

javascript - 当通配符匹配时, Node 快速 GET 路由会失败所有其他请求