Node.js Can';t在安装nvm后卸载全局npm包

Node.js Can';t在安装nvm后卸载全局npm包,node.js,npm,nvm,Node.js,Npm,Nvm,我发现了几个与这个问题相关的线程,但似乎没有一个线程专门处理我的案例,我无法使用我发现的建议来解决 当我运行npm uninstall-g“some package” 它只返回:最新的.043s——全局包仍然存在 例如,我正在尝试卸载babel cli,在运行npm uninstall-g babel cli之后,我仍然能够使用cli 这是在我卸载了node和npm并使用nvm重新安装之后开始的。我想知道在卸载节点时是否遗漏了什么,这是导致问题的原因。我检查了我的点文件,发现在.nvm之外还有一

我发现了几个与这个问题相关的线程,但似乎没有一个线程专门处理我的案例,我无法使用我发现的建议来解决

当我运行
npm uninstall-g“some package”

它只返回:
最新的.043s
——全局包仍然存在

例如,我正在尝试
卸载babel cli
,在
运行npm uninstall-g babel cli
之后,我仍然能够使用
cli

这是在我卸载了
node
npm
并使用
nvm
重新安装之后开始的。我想知道在卸载
节点时是否遗漏了什么,这是导致问题的原因。我检查了我的点文件,发现在
.nvm
之外还有一个
.npm
。这正常吗?提前感谢您的建议。

(这里是nvm维护人员)

您可以
npm uninstall-g
的内容列表可以在
npm ls-g--depth=0
上找到。如果您在那里看不到要卸载的东西,但仍然可以访问它,那么如果它是npm安装的,则可能是与您的系统版本的node一起安装的


您可以使用
nvmusesystem&&npmls-g--depth=0
快速验证这一点。如果您在那里看到该软件包,那么在使用系统版本时,您可以
npm uninstall-g
it.

无论您调用npm uninstall babel多少次

或者是g巴别塔

或-g babel cli

它确实显示了更新。当你通过输入“babel-help”来检查它是否仍然存在

你得到这个->

我知道这很令人沮丧。所以我找到了这些文件在本地存储的位置,在从本地存储中删除它们之后, 我终于得到->

我是如何找到它的:

Finder的搜索结果不会告诉你们全局巴别塔存储的路径。 我发现在我们真正的根目录“Macintosh HD”中有一个名为/usr的文件夹 它是隐藏的

所以, 选择查找器->转到->转到文件夹。。 并键入“/usr”

一个新的finder窗口将打开,它将显示其中的所有文件。 现在,您可以四处漫游并检查您安装的所有文件,其中一些文件可能已被遗忘,并且从未有机会删除

转到usr/local/bin->在这里可以找到全局安装的文件。 如图所示->

同样,正如您所看到的,图标上有箭头符号,表明这些只是快捷方式。删除它们会切断链接,但文件仍会存在

要删除文件,请右键单击图标并选择“显示原始文件”

您将被重定向到一个文件夹,在那里可以找到babel.js文件

记住,它又只是一个文件。要完全删除babel cli,请在finder中选择列视图,然后向左滚动并检查其父目录。 这里是实际安装的地方

您可以看到,就像安装在本地web项目中的基本节点模块一样,babel cli和类似的软件包也以类似的格式安装在这些全局位置

现在,您可以右键单击babel cli文件夹并将其移动到垃圾箱


希望狩猎终于结束。

我在一个npm全球方案中也经历过同样的经历,下面的解决方案对我很有效。 请在命令之前使用sudo来解决此问题。像sudo npm卸载-g“some package”

没有sudo: []$npm卸载-g块菌 0.082s中的最新版本

尝试sudo后: []$sudo npm卸载-g块菌 shahid的[sudo]密码: 在1.902s中移除了81个包

[]$:块菌
bash:/usr/bin/truffle:没有这样的文件或目录

对不起,我知道这是一个老问题,但我们在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.
8月20日星期二08:09:07~
$npm卸载-gedgemicro@3.0.4
在0.051s内更新
8月20日星期二08:09:13~
$edgemicro--版本
当前的nodejs版本是v8.16.0
当前edgemicro版本为3.0.4
3.0.4
//显然没有起作用:(
//让我们试试sudo…。
8月20日星期二08:09:18~
$sudo npm卸载-gedgemicro@3.0.4
密码:
在0.035s内更新
8月20日星期二08:10:20~
$edgemicro--版本
当前的nodejs版本是v8.16.0
当前edgemicro版本为3.0.4
3.0.4
//仍然不起作用:(
//那么这个看似不朽的可执行文件在哪里呢?
8月20日星期二08:10:28~
哪一个埃杰米克罗
/Users//.nvm/versions/node/v8.16.0/bin/edgemicro
//它似乎在某个NVM特定路径下。
//似乎NPM也在一些NVM特定的路径下,这是意料之中的。
8月20日星期二08:10:33~
$npm
/Users//.nvm/versions/node/v8.16.0/bin/npm
//因此,让我们使用该npm来执行卸载…
8月20日星期二08:10:42~
$/Users//.nvm/versions/node/v8.16.0/bin/npm uninstall-g edgemicro
npm WARN read shrinkwrap此版本的npm与兼容lockfileVersion@1,但为生成了npm-shrinkwrap.jsonlockfileVersion@0.我会尽力做到最好!
在25.851s内删除2442个包
8月20日星期二08:11:24~
哪一个埃杰米克罗
8月20日星期二08:11:29~
$//完成。

上述解决方案都不适合我

我的
nvm
版本是1.0.1-怪异

因此,没有人建议:

nvm deactivate && nvm uninstall..
为我工作,因为他们不是命令

我正在尝试卸载
create react应用程序

which create-react-app
/usr/local/bin/create-react-app
我只是做了最明显最幼稚的事

rm -rf /usr/local/bin/create-react-app

这一切都很好!

我知道这是一个老问题,但如果上面的选项都不起作用,请执行此操作。进入终端或命令提示符并键入“open/usr/local/bin”。它将打开“usr”的隐藏文件夹并查找您要删除的文件。希望这会有所帮助。

这可能是由于your PATH环境变量和
babel cli中有多个路径造成的