nvm-windows 下载安装及踩坑

nvm-windows 下载安装及踩坑

现在的项目为协同开发,需要保证 Node.js 版本的统一。nvm 是 node 版本管理工具,这里记录下在 windows 上的安装及踩坑过程。

1、下载地址

在安装 nvm-windows 之前,最后先卸载原来的Node.js, 卸载参考文章:Window下完全卸载删除Nodejs

nvm 下载地址:https://github.com/coreybutler/nvm-windows/releases

下载 nvm-setup.zip, 解压后直接安装即可。

image-20210622100608664

2、解压安装

2.1、同意协议

image-20201104115806203

2.2、选择安装目录

注意路径尽量不要包含空格、中文

image-20201104115938434

2.3、设置Node.js的软链接文件夹

nvm 可以下载多个 Node.js 版本,切换版本时,该文件夹的文件会动态变更为相应的版本文件。类似于动态容器,系统实际上就是去加载动态容器来达到切换版本的作用。

什么是软链接https://www.jianshu.com/p/d8e6fc0fa6b7

image-20201104135029129

2.4、点击Install

image-20201104135512306

2.5 检验是否安装成功

输入 nvm 命令, 出现以下截图说明成功

image-20201104140101827

2.6 常用命令

nvm install 版本号   #下载Node.js版本及对应npm
nvm use 版本号       #切换版本
nvm uninstall 版本号 #卸载版本,有时会失败,需要手动删除
nvm list            #查看已下载的版本
nvm list available  #查看可用的版本
nvm ls              #效果等同于nvm list
nvm --help          #查看nvm的命令

3、踩坑

3.1 配置 Node.js 及 npm 下载源

如果直接使用 nvm install 版本号,会出现 npm 无法下载的问题。

image-20201104142102269

因此需要配置淘宝的镜像源进行下载,在 settings.txt 文件中添加以下两行:

image-20201104142332555

另外当执行 nvm use 版本号 提示 exist status 1异常时,一般是由于系统权限不够引起的,请重新以系统管理员的身份打开命令窗口。

image-20220831152152669

3.2 解决 node -v 提示'node' 不是内部或外部命令

执行 nvm use 版本号命令,再执行 node -v 后可能会出现提示'node' 不是内部或外部命令,这时候就涉及到上文操作2.3了。

1、打开控制面板—高级系统设置—高级--环境变量--环境变量--用户变量,查看 NVM_SYMLINK属性。

image-20201104143431036

2、确保该路径下有对应的文件夹,如果没有文件夹则新建,确保文件夹为空。

image-20201104143717140

3、关掉命令行窗口,再次 cmd, 需要 执行 nvm uninstall 版本号命令 进行卸载, 再次重装Node.js,此时执行 node -v 命令。

image-20201104144132770

3.3 解决 nvm 安装后 node 生效但是 npm 不生效

经过3.2的操作之后,你可能会发现 npm -v 命令同样提示不是内部或外部命令,此时查看Node.js文件夹。

image-20201104144909081

这个时候需要到 npm 的镜像源下载 对应的 npm版本。

1、npm下载:https://npm.taobao.org/mirrors/npm/

2、解压文件,将文件命名为 npm 并复制到 node_modules 文件夹。

image-20201104145422342

3、将最后将npm中bin目录下的npm以及npm.cmd复制到与node_modules目录同级目录下。

image-20201104145723040

4、此时执行 npm -v 命令则成功了。

image-20201104145846264

总结:一路下来踩的坑还是蛮多的,切忌浮躁,一步一步来终能解决问题。

参考文章:https://www.jianshu.com/p/cbf4f76ba0bb

参考文章:https://blog.csdn.net/taylorzun/article/details/105471841?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.add_param_isCf&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.add_param_isCf

参考文章:https://blog.csdn.net/Deleven_Blog/article/details/100077732?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.add_param_isCf&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.add_param_isCf

posted @ 2020-11-04 15:09  MyDistance  阅读(2074)  评论(0编辑  收藏  举报