nvm-windows 下载安装及踩坑

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

1、下载地址

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

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

nvm-windows 下载安装及踩坑-风君雪科技博客

2、解压安装

2.1、同意协议

nvm-windows 下载安装及踩坑-风君雪科技博客

2.2、选择安装目录

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

nvm-windows 下载安装及踩坑-风君雪科技博客

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

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

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

nvm-windows 下载安装及踩坑-风君雪科技博客

2.4、点击Install

nvm-windows 下载安装及踩坑-风君雪科技博客

2.5 检验是否安装成功

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

nvm-windows 下载安装及踩坑-风君雪科技博客

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 无法下载的问题。

nvm-windows 下载安装及踩坑-风君雪科技博客

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

node_mirror: https://npm.taobao.org/mirrors/node/
npm_mirror: https://npm.taobao.org/mirrors/npm/

nvm-windows 下载安装及踩坑-风君雪科技博客

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

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

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

nvm-windows 下载安装及踩坑-风君雪科技博客

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

nvm-windows 下载安装及踩坑-风君雪科技博客

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

nvm-windows 下载安装及踩坑-风君雪科技博客

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

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

nvm-windows 下载安装及踩坑-风君雪科技博客

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

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

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

nvm-windows 下载安装及踩坑-风君雪科技博客

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

nvm-windows 下载安装及踩坑-风君雪科技博客

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

nvm-windows 下载安装及踩坑-风君雪科技博客

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

参考文章: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

自我控制是最强者的本能-萧伯纳