1111mp / nvm-desktop

Node Version Manager Desktop - A desktop application to manage multiple active node.js versions.
https://github.com/1111mp/nvm-desktop
MIT License
675 stars 34 forks source link

卸载nvm-desktop后,npm命令不起作用了 #18

Closed XiaoMo-Donald closed 9 months ago

XiaoMo-Donald commented 9 months ago

卸载nvm-desktop后,npm命令不起作用了,这是咋回事呀

image

1111mp commented 9 months ago

下载并设置nodejs版本了吗,node -v 也是提示这个吗

nvmd -h 有效吗

或者你打开%HOMEPATH%.nvmd\bin目录下是否有node.exe npm.exe等文件呢

XiaoMo-Donald commented 9 months ago

对的,都是一样的提示,我现在是已经把nvm-desktop卸载了,卸载后有错误,之前是使用nvm下载管理的node版本(下载安装nvm-desktop后没有安装过nodejs,因为我的C盘没有更多的空间了 所以我才暂时卸载掉 )

XiaoMo-Donald commented 9 months ago

而且好像nvm-desktop卸载不干净,现在nvmd命令还是可以使用,然后导致nvm use命令不生效了现在

1111mp commented 9 months ago

你可以按照文档nvm-desktop完全卸载掉。

nvm-desktopnvm之间完全不冲突的。nvm-desktop所有相关的文件都在%HOMEPATH%\.nvmd目录下,以下是几个关键的文件:

如果一切正常的话,比如我下载了 21.2.0 版本,那么 versions 目录下会多出个 21.2.0 文件夹,里面是下载的node相关的文件,点击应用该版本之后, default 文件会被写入21.2.0,之后终端里面输入node -v 或者 npm -v,相应的会执行 bin 目录下的 node.exe & npm.exe,里面的逻辑是从 default文件读取版本号,然后找出完整的node路径:versions\21.2.0,然后新建进程并添加versions\21.2.0到这个进程的环境变量中,新进程中执行对应的命令,这时候识别到的node版本的node.exe就是versions\21.2.0\node.exe文件了

整个流程大致是这样,然后安装代码程序的逻辑,如果出现你截图的这种信息,那么就是没有找到对应设置的node的版本的版本号,相关代码在这里:https://github.com/1111mp/nvmd-command/blob/a3bd9b9d78a8e8a33c5db0a28ef566bde8a8e483/src/run/engine.rs#L6

所以如果方便的话,可能需要你提供一下相关的信息:

XiaoMo-Donald commented 9 months ago

大意了,ok 啦,卸载后要重启一下电脑 !!!

1111mp commented 9 months ago

最后想确认一下,是卸载nvm-desktop之后才导致npm命令失效对吗,卸载之前应该都是正常的吧

XiaoMo-Donald commented 9 months ago

卸载之前我忘记试了,是卸载之后才试的

1111mp commented 9 months ago

好的 理论上卸载之后命令都是正常的(我本地刚刚测试了是可以的) 不过有可能是卸载之前没有设置过一个默认的版本 所以才出现这个问题。当然如果有问题的话可以参照这里,谢谢。

XiaoMo-Donald commented 9 months ago

ok ok,是的 我安装完成后没有在nvm-desktop下载过任何的node版本,感谢大佬啦,期待可以自定义安装目录的版本我再上车 (#^.^#)

1111mp commented 9 months ago

好的 没问题就好

muyaCode commented 9 months ago

我也是这样,重启电脑也不行,需要删掉文件夹:%HOMEPATH%.nvmd目录,这样就可以了

1111mp commented 9 months ago

如果没有下载或者指定过node版本,不管卸载之前还是卸载之后都会提示对应的命令不存在的,这是正常的。然后可以按照文档完全卸载nvm-desktop。