最近,有新老项目一起开发,node版本太高,老项目起不来;node版本太低,新项目还搭不起来…所以,一个nvm就显得很有必要了。这几个坑掉的,摔的我差点起不来…

废话少说就是:

  • 用管理员身份运行.exe,
  • 找不到path,就去nvm文件夹,设置文件夹的修改、写入权限(第5步)
  • install之后,报npm 下载 error, 就用管理员身份运行cmd,再install 对应node版本
    (以上几步之后,下载node版本报错,和node不是命令的问题,应该是解决了)
  • 现在npm -v 还是不行的话,就从node官网找到对应版本,替换nvm对应版本的包

详细的步骤看下面吧:

  1. 首先你要卸载掉之前的node,或者nvm

  2. 管理员方式打开你的nvm-setup.exe, 一定要用管理员。没有.exe的,来这里下载
    在这里插入图片描述

  3. 然后一路走下去,选择nvm和node的安装路径
    nvm的安装路径:
    在这里插入图片描述
    管理nodeJs版本的路径:
    在这里插入图片描述

  4. 试试nvm -v是不是可以的,一般是可以的,不可以先重启电脑之后也是可以的

  5. 然后 nvm list available 、选择一个版本nvm install xx.xx.x.
    如果你报错了,什么路径找不到The system cannot find the path specified.mkdir D:\nvm\temp: Access is denied.下面这种错误:

Downloading node.js version 16.9.1 (64-bit)...
Error while creating D:\nvm\v16.9.1\node64.exe - open D:\nvm\v16.9.1\node64.exe: The system cannot find the path specified.
Error while downloading https://nodejs.org/dist/v16.9.1/win-x64//node.exe - invalid argument
Complete
Creating D:\nvm\temp

mkdir D:\nvm\temp: Access is denied.

需要你检查下你上面,安装nvm的文件夹权限(D:\nvm),我的是因为需要管理员权限才能新建文件,所以直接nvm install它找不到路径
在这里插入图片描述
要在属性=> 安全 =>编辑,里面设置放开一下,写入修改的权限,我之前红色框里的权限是没有的。
在这里插入图片描述
6.开放了权限,我又install了一下,还是有问题
看的见,node是安装成功了,可对应的npm又报错了
在这里插入图片描述

Downloading npm version 7.21.1... Error while downloading https://github.com/npm/cli/archive/v7.21.1.zip - Get https://github.com/npm/cli/archive/v7.21.1.zip: net/http: TLS handshake timeout
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xc0000005 code=0x0 addr=0x20 pc=0x5c6eb0]

goroutine 1 [running]:
_/C_/Users/corey/Documents/workspace/nvm-windows/src/nvm/web.Download(0x1144e000, 0x2e, 0x114ec120, 0x1b, 0x117c89a0, 0x6, 0x0)
        C:/Users/corey/Documents/workspace/nvm-windows/src/nvm/web/web.go:68 +0x240
_/C_/Users/corey/Documents/workspace/nvm-windows/src/nvm/web.GetNpm(0x1143e5a1, 0x6, 0x117c89a0, 0x6, 0x1f)
        C:/Users/corey/Documents/workspace/nvm-windows/src/nvm/web/web.go:163 +0x21b
main.install(0x1143e078, 0x6, 0x660283, 0x2)
        C:/Users/corey/Documents/workspace/nvm-windows/src/nvm.go:268 +0x626
main.main()
        C:/Users/corey/Documents/workspace/nvm-windows/src/nvm.go:78 +0x8cd
  1. 解决办法是,用管理员的命令行去再install node,win + x 会出来的
    在这里插入图片描述
    再install一遍,是可以下载成功的。我猜,也是创建nodejs文件的权限问题导致的下载失败。(也许从上面第5步开始,直接用管理员的命令行是可以解决。)

  2. 但是到了这一步,我还是有问题
    运行npm -v 他说'npm' 不是内部或外部命令,也不是可运行的程序
    我打开nvm文件夹去看了下,16.9.1里面这些都没有,node_modules文件夹也是空的。。。
    在这里插入图片描述

  3. 解决办法是:从node官网找对应版本的zip压缩包下来,替换掉这个目录里的东西,然后就完美解决了,node、npm都没问题,也可以自由切换版本。
    在这里插入图片描述
    node的各个版本下载地址链接

还不清楚,看这篇文章:
win10安装nvm管理node版本,以及环境配置和遇到的坑(‘node’ 和’npm’不是内部或外部命令,也不是可运行的程序 或批处理文件

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐