我发现了几个与此问题相关的线程,但似乎没有一个专门处理我的案例,我一直无法使用我发现的建议来解决。
当我运行npm uninstall -g "some package"
它只返回:up to date in .043s
- 全局包仍然存在。
例如,我正在尝试uninstall babel-cli
,在running npm uninstall -g babel-cli
之后,我仍然可以使用cli
。
这是在我卸载node
和npm
并使用nvm
重新安装后启动的。我想知道在卸载node
时是否遗漏了某些内容并导致问题。我检查了我的点文件,发现我.npm
之外仍有.nvm
。这是正常的吗?提前感谢任何建议。
答案 0 :(得分:21)
(nvm维护者在这里)
npm uninstall -g
可以提供npm ls -g --depth=0
的内容列表。如果您没有看到要在那里卸载的东西,但仍然可以访问它,那么如果它是npm-insatlled,它可能是与您的系统版本的节点一起安装的。
您可以使用nvm use system && npm ls -g --depth=0
快速验证这一点。如果您在那里看到包,那么在使用系统版本时,您可以npm uninstall -g
。
答案 1 :(得分:3)
对不起,我知道这是一个老问题,但是现在我们已经到了2019年,这对我来说只是个问题……我发现我需要在NVM关心的路径上在npm上调用卸载。
这对我有用:
Tue Aug 20 08:09:07 ~
<username> $ npm uninstall -g edgemicro@3.0.4
up to date in 0.051s
Tue Aug 20 08:09:13 ~
<username> $ edgemicro --version
current nodejs version is v8.16.0
current edgemicro version is 3.0.4
3.0.4
// Clearly didn’t work :(
// Let’s try sudo ….
Tue Aug 20 08:09:18 ~
<username> $ sudo npm uninstall -g edgemicro@3.0.4
Password:
up to date in 0.035s
Tue Aug 20 08:10:20 ~
<username> $ edgemicro --version
current nodejs version is v8.16.0
current edgemicro version is 3.0.4
3.0.4
// Still didn’t work :(
// So where is this seemingly immortal executable?
Tue Aug 20 08:10:28 ~
<username> $ which edgemicro
/Users/<username>/.nvm/versions/node/v8.16.0/bin/edgemicro
// It’s under some NVM specific path it seems.
// It seems NPM is also under some NVM specific path, kinda expected.
Tue Aug 20 08:10:33 ~
<username> $ which npm
/Users/<username>/.nvm/versions/node/v8.16.0/bin/npm
// So let’s use that exact npm to perform the uninstall …
Tue Aug 20 08:10:42 ~
<username> $ /Users/<username>/.nvm/versions/node/v8.16.0/bin/npm uninstall -g edgemicro
npm WARN read-shrinkwrap This version of npm is compatible with lockfileVersion@1, but npm-shrinkwrap.json was generated for lockfileVersion@0. I'll try to do my best with it!
removed 2442 packages in 25.851s
Tue Aug 20 08:11:24 ~
<username> $ which edgemicro
Tue Aug 20 08:11:29 ~
<username> $ // Done.
答案 2 :(得分:1)
以上解决方案均不适合我。
我的nvm
版本是1.0.1-很奇怪。
所以没有建议:
nvm deactivate && nvm uninstall..
为我工作,因为它们不是命令。
我正在尝试卸载create-react-app
which create-react-app
/usr/local/bin/create-react-app
我只是做了最明显,最幼稚的事情
rm -rf /usr/local/bin/create-react-app
一切都很好!
答案 3 :(得分:0)
对于npm全球软件包之一,我也有相同的经验,下面的解决方案对我有用。 请在命令前使用sudo解决此问题。像sudo npm uninstall -g“ some package”
没有sudo: [] $ npm卸载-g松露 直到0.082s为止
尝试使用sudo之后: [] $ sudo npm卸载-g松露 shahid的[sudo]密码: 在1.902秒内删除了81个程序包
[] $:松露 bash:/ usr / bin / truffle:没有这样的文件或目录
答案 4 :(得分:-1)
无论你多少次打电话给npm卸载babel,
OR纱线卸载-g babel
OR纱线卸载-g babel-cli
确实显示已更新。当你通过输入&#34; babel -help&#34;
检查它是否仍然存在时你得到这个 - &gt; babel still somewhere in your Mac
我知道这令人沮丧。所以我发现这些文件存储在本地的位置,并从本地存储中删除后, 我终于得到了 - &gt; Finally my system doesn't understand what babel is. What we really want
我是如何找到的:
Finder的搜索结果不会为您提供全球babel存储的路径。 我发现在我们的实根目录中有一个名为/ usr的文件夹&#34; Macintosh HD&#34; 它是隐藏的
所以, 选择查找程序 - &gt;去 - &gt;去文件夹.. 然后输入&#34; / usr&#34;。
将打开一个新的查找程序窗口,它将显示其中的所有文件。 现在你可以漫游并检查你安装的所有文件,有些可能已经忘记了,也没有机会删除。
转到usr / local / bin - &gt;在这里,您将找到全局安装的文件。 如此处所示 - &gt; Directory of shortcuts
再次,正如您所看到的,图标上有箭头符号,表示这些只是快捷方式。删除它们会切断链接,但文件仍会在某处。
要删除文件,请右键单击图标,然后选择&#34;显示原始文件&#34;
您将被重定向到您将找到babel.js文件的文件夹。
请记住,它只是一个文件。要完全删除babel-cli,请在finder中选择列视图,然后向左滚动并检查其父目录。 这里是实际安装的地方。
您可以看到,就像在我们的本地Web项目中安装的基本节点模块一样,babel-cli和类似的此类软件包以类似的格式安装,但是在这些全局位置。
现在,您可以右键单击babel-cli文件夹并将其移至垃圾箱。
希望狩猎终于结束了。答案 5 :(得分:-1)
我知道这是一个古老的问题,但是如果以上所有选项均无效,请执行此操作。进入终端或命令提示符,然后键入“ open / usr / local / bin”。它将打开“ usr”的隐藏文件夹,并查找要删除的文件。希望这会有所帮助。