nvm使用过程中的坑
nvm安装成功,node安装成功,能工作,但是npm使用时报错
适用场景接手祖传旧代码,node版本太高导致无法运行成功。或同时需要使用多个版本node。
环境windows 10 64bit
参考博客雨临Lewis -- Windows下完全卸载node.js并安装node.js的多版本管理工具nvm-windows
蓓蕾心晴 -- windows下nvm安装node之后npm命令找不到问题解决办法
背景不注明环境和版本的教程都是耍流氓,在刚开始接触一门新技术或者新框架时,我们时常会去搜索别人的hellow world教程,但是很气的是,按照步骤无论如何都是不成功,
在我碰到的这类的坑,基本都是环境和版本不同导致的.....(除了和网路相关的)
例如最近看的一位前辈关于以太坊教程,和现在还没爬出坑的接手的一个2年前Angular的项目。本篇是下一篇关于以太坊文章的前置文章,因为那一篇教程需要使用旧版本的node。
思路卸载node
删除路径以及残留文件
安装nvm-windows
配置镜像源
步骤卸载系统上现有node(如果有)
此处基于windows下nvm安装node之后npm命令找不到问题解决办法,在此基础上简化和完善。
在卸载程序中卸载node
在环境变量中删除所有与node相关的路径(无论是user级,还是system级)
删除以下路径的文件(可能只有部分文件才有)
C:\Program Files (x86)\nodejs
C:\Program Files\nodejs
C:\Users{User}\AppData\Roaming\npm
C:\Users{User}\AppData\Roaming\npm-cache
C:\Users{User}\node_modules (在我电脑上的路径)
下载最新版nvm并安装nvm-setup.zip
更换镜像源
在路径 C:\Users\{User}\AppData\Roaming\nvm\settings.txt下添加以下两条
node_mirror: https://npm.taobao.org/mirrors/node/
npm_mirror: https://npm.taobao.org/mirrors/npm/
此时如果你还仔细观察,会发现C:\Program Files下的nodejs问家家其实是一个快捷方式,指向的是nvm的安装路径C:\Users\i353667\AppData\Roaming\nvm下对应的node版本。
nvm的使用 # get available node version list nvm list available # install specific node version you need nvm install The_Version_You_Need # list the node you have installed in your PC nvm list # switch node version you need nvm use The_Version_You_Need
错误处理在Windows上nvm的常见错误解决方案基本都能搜索到,有一个特殊的我没检索到的这里列一下。
现象:nvm install指定版本的node,并切换后,使用node指令正常,比如node --version,但是使用npm指令会报错,且报错根据node 版本会不同,但是根本上都是npm找不到。此时如果你打开C:\Users\{User}\AppData\Roaming\nvm\v9.11.1\node_modules,发现没有npm文件夹,那就是这个问题。
解决方案
卸载当前版本,重新安装。有时我重复了两次才成功,成功标志就是node_modules文件夹下npm文件夹出现,或者命令行调用npm不报错。
####
要获取更多Haytham原创文章,请关注公众号"许聚龙":
Windows nvm的安装使用(及排坑)
标签:
原文地址:https://blog.51cto.com/13852791/2438062