安装nvm后无法卸载全局npm包

dfddblmv  于 2023-04-21  发布在  其他
关注(0)|答案(8)|浏览(470)

我已经找到了几个与这个问题相关的线程,但似乎没有一个专门处理我的情况,我一直无法使用我找到的建议来解决。
运行npm uninstall -g "some package"
它只是返回:up to date in .043s-保留全局包。
例如,我尝试uninstall babel-cli,在running npm uninstall -g babel-cli之后,我仍然可以使用cli
这是在我卸载nodenpm并使用nvm重新安装后开始的。我想知道在卸载node时是否遗漏了什么,这导致了这个问题。我检查了我的点文件,注意到我在.nvm之外还有一个.npm。这正常吗?提前感谢您的任何建议。

qybjjes1

qybjjes11#

(nvm维护者在这里)
您可以在npm uninstall -g上找到npm uninstall -g可以卸载的东西列表。如果您在那里没有看到您想要卸载的东西,但您仍然可以访问它,那么如果它是npm安装的,那么它可能是与您的系统版本的node一起安装的。
您可以使用nvm use system && npm ls -g --depth=0快速验证这一点。如果您在那里看到包,那么在使用系统版本时,您可以npm uninstall -g它。

nr7wwzry

nr7wwzry2#

对不起,我知道这是一个老问题,但现在是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.
bqjvbblv

bqjvbblv3#

上述解决方案都不适合我。
我的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

一切都很好!

bnl4lu3b

bnl4lu3b4#

我试图删除create-react-app以使用最新版本的npx,但即使我全局删除它,也会收到相同的警告。

You are running `create-react-app` 4.0.3, which is behind the latest release (5.0.0).

We no longer support global installation of Create React App.

Please remove any global installs with one of the following commands:
- npm uninstall -g create-react-app
- yarn global remove create-react-app

所以我想这可能是关于npm cache的。
转到:

C:\Users\{YOUR-LOCAL-USERNAME}\AppData\Local\npm-cache\_npx

你会发现一些随机命名的文件夹,比如c67 e93 de 6234 c87 c。这些文件夹包含了你通过npx尝试使用的最新软件包。
现在,您应该找到包含您试图删除的软件包的文件夹。您可以通过阅读每个文件夹中的package.json来找到它。
找到正确的目录后,使用local uninstall命令(不是npm -g uninstall)卸载此目录中要删除的软件包:

npm uninstall create-react-app

现在您可以通过npx免费使用最新版本的软件包。

w8biq8rn

w8biq8rn5#

我也经历过同样的npm全局包之一,下面的解决方案对我有效。请在命令之前使用sudo来解决这个问题。像sudo npm uninstall -g“some package”
没有sudo:[]$ npm uninstall -g truffle up to date in 0.082s
使用sudo后:[]$ sudo npm uninstall -g truffle [sudo] password for shahid:在1.902秒内删除了81个软件包
[]$:truffle bash:/usr/bin/truffle:没有这样的文件或目录

hof1towb

hof1towb6#

我尝试了几个答案在这里,但没有为我工作.我结束了删除它自己像这样:which <package_name>(或者你可以使用“which npm”)
转到可执行文件所在的位置,在我的情况下,它是:
/c/Program Files/nodejs/<package_name>
在这里找到node_modules:
cd /c/Program Files/nodejs/node_modules
在那里找到你的包名,然后像这样删除它:
rm -rf <package_name>
我还删除了/c/Program Files/nodejs/中对该文件的所有引用,就像我的例子一样:
rm -rf /c/Program Files/nodejs/<package_name>(可执行文件)
rm -rf /c/Program Files/nodejs/<package_name>.ps1
rm -rf /c/Program Files/nodejs/<package_name>.cmd

gmxoilav

gmxoilav7#

不管你调用npm uninstall babel多少次
OR Yarn uninstall -g babel
OR Yarn uninstall -g babel-cli
它确实显示了更新。当你输入“babel -help”检查它是否仍然存在时
你得到这个-〉babel still somewhere in your Mac
我知道这很令人沮丧。所以我找到了这些文件在本地存储的位置,在将它们从本地存储中删除后,我终于得到了-〉Finally my system doesn't understand what babel is. What we really want
我是如何找到它的:
Finder的搜索结果是不会给予你的路径的全局babel存储.我发现,有一个文件夹名为/usr在我们的真正的根目录“Macintosh HD”它是隐藏的
所以,选择finder -〉Go -〉Go to Folder..并键入“/usr”。
一个新的finder窗口将打开,它将显示其中的所有文件。现在您可以四处漫游并检查您安装的所有文件,有些可能忘记了,从来没有机会删除。
转到usr/local/bin -〉,在这里你会发现你全局安装的文件。
同样,正如你所看到的,图标上有箭头标志,这表明这些只是快捷方式。删除它们将切断链接,但文件仍然在某处。
要删除文件,请右键单击图标并选择“显示原始”
您将被重定向到一个文件夹,您将在其中找到babel.js文件。
记住,它也只是一个文件。要完全删除babel-cli,请在finder中选择列视图,然后向左滚动并检查其父目录。这里是实际安装完成的地方。
finalpath part 1
finalpath part 2
你可以看到,就像在我们的本地web项目中安装的基本节点模块一样,babel-cli和类似的软件包以类似的格式安装在这些全局位置。
现在你可以右键单击babel-cli文件夹并将其移动到垃圾桶。
希望狩猎终于结束了。

aiqt4smr

aiqt4smr8#

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

相关问题