详解nvm管理多版本node踩坑


Posted in Javascript onJuly 26, 2019

Windows10

本机环境:win10

未安装node,安装了nvm工具,尝试使用nvm安装我开发环境的node版本(10.9.0 or later)

详解nvm管理多版本node踩坑

根据上面的截图看,应该是npm下载失败了,需要手动安装,我们使用命令查看node安装情况

nvm use 10.9.0
v10.9.0

node安装没问题,尝试安装单独的npm包的时候出问题了,上述的网站已经移植更改到 https://npm.community/

然而这个网址很难打开,即使翻墙,github上也没有直接安装的包,暂时告一段落,接下来看下安装一个低版本node。

nvm install 6.9.0

这次安装提示everything completed!
测试下:

nvm use 6.9.0
v6.9.0
npm -v
3.10.8

详解nvm管理多版本node踩坑

浏览下6.9.0版本node文件结构:

详解nvm管理多版本node踩坑

其中node_modules下有个npm的文件夹,打开就是npm所有的文件系统,萌生2个方案
方案1:https://github.com/npm/cli

下载里面的文件打包解压后放到新版本10.9.0文件夹下;

方案2:手动安装新版node,将下载的npm相关资源复制移动到10.9.0下;

下载好后的压缩包解压,查看文件结构后正确的放入文件夹下,将6.9.0下的npm、npm.cmd(打开后里面的代码应该是通用的配置可以直接进行复制使用)copy 到10.9.0文件夹下,测试看看

node -v
v10.9.0
npm -v
6.10.2(因为最新版的,并不是6.2.0,因为提供的网址打不开,不然应该找对应版本的npm)

安装全局的依赖:

npm install @angular/cli -g
npm install @tarojs/cli -g

可以正常工作了,到这里其实必须要采用方案2 进行测试,因为多版本node不可能只是2个版本,方案1在github只能下载比较新的npm,遇到大版本往前的只能用从node官网下载安装,去除npm包。。。,从这点来说nvm并不好用,失去了工具的灵活性、简单性特点。

新需求需要8.x版本的node,

nvm install 8.16.0

详解nvm管理多版本node踩坑

采用方案2解决:
https://nodejs.org/dist/latest-v8.x/
下载zip包,解压,直接上图,看清楚路径,然后替换全部

详解nvm管理多版本node踩坑

详解nvm管理多版本node踩坑

结论:window10系统下(询问过其他win7系统的朋友无安装不了npm的问题),nvm部分新版本node安装的时候npm因未知原因,无法安装,需要个人手动安装npm,根据提示得到的解决方案就是文中所提供的截图;

另外很久以前就有人质疑过winodw上用nvm效果不是很好,建议用nvs,本人下一篇的文章会进行介绍和使用(ps:每次折腾这类问题我都卸载本机安装好的环境,够意思了?)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript中的toUTCString()方法使用详解
Jun 12 Javascript
简单讲解AngularJS的Routing路由的定义与使用
Mar 05 Javascript
JSON字符串和对象相互转换实例分析
Jun 16 Javascript
jQuery简介_动力节点Java学院整理
Jul 04 jQuery
JS实现统计字符串中字符出现个数及最大个数功能示例
Jun 04 Javascript
jqGrid表格底部汇总、合计行footerrow处理
Aug 21 Javascript
layui表格分页 记录勾选的实例
Sep 02 Javascript
layui+SSM的数据表的增删改实例(利用弹框添加、修改)
Sep 27 Javascript
js DOM的事件常见操作实例详解
Dec 16 Javascript
2020京东618叠蛋糕js脚本(亲测好用)
Jun 02 Javascript
openlayers 3实现车辆轨迹回放
Sep 24 Javascript
AJAX实现省市县三级联动效果
Oct 16 Javascript
layui自定义ajax左侧三级菜单
Jul 26 #Javascript
layui递归实现动态左侧菜单
Jul 26 #Javascript
bootstrap-treeview实现多级树形菜单 后台JSON格式如何组织?
Jul 26 #Javascript
bootstrap-table+treegrid实现树形表格
Jul 26 #Javascript
Vue实现商品分类菜单数量提示功能
Jul 26 #Javascript
vue实现滑动切换效果(仅在手机模式下可用)
Jun 29 #Javascript
微信小程序设置滚动条过程详解
Jul 25 #Javascript
You might like
PHP 数组和字符串互相转换实现方法
2013/03/26 PHP
php+ajax实现无刷新分页的方法
2014/11/04 PHP
php读取csv数据保存到数组的方法
2015/01/03 PHP
PHP中的类型提示(type hinting)功能介绍
2015/07/01 PHP
背景音乐每次刷新都可以自动更换
2007/02/01 Javascript
JQuery下的Live方法和$.browser方法使用代码
2010/06/02 Javascript
更换select下拉菜单背景样式的实现代码
2011/12/20 Javascript
国外大牛IE版本检测!现在IE都到9了,IE检测代码
2012/01/04 Javascript
JavaScript高级程序设计 读书笔记之十 本地对象Date日期
2012/02/27 Javascript
jQuery.clean使用方法及思路分析
2013/01/07 Javascript
jQuery Ajax()方法使用指南
2014/11/19 Javascript
js面向对象之公有、私有、静态属性和方法详解
2015/04/17 Javascript
基于HTML5上使用iScroll实现下拉刷新,上拉加载更多
2016/05/21 Javascript
bootstrap datepicker限定可选时间范围实现方法
2016/09/28 Javascript
利用jquery给指定的table动态添加一行、删除一行的方法
2016/10/12 Javascript
Javascript将字符串日期格式化为yyyy-mm-dd的方法
2016/10/27 Javascript
JavaScript触发onScroll事件的函数节流详解
2016/12/14 Javascript
文件上传的几个示例分享【推荐】
2016/12/16 Javascript
js的三种继承方式详解
2017/01/21 Javascript
详解使用angular的HttpClient搭配rxjs
2017/09/01 Javascript
Express之托管静态文件的方法
2018/06/01 Javascript
解决Vue+Element ui开发中碰到的IE问题
2018/09/03 Javascript
vue实现Excel文件的上传与下载功能的两种方式
2019/06/28 Javascript
python实现通过代理服务器访问远程url的方法
2015/04/29 Python
使用Python神器对付12306变态验证码
2016/01/05 Python
详解Python with/as使用说明
2018/12/13 Python
python的range和linspace使用详解
2019/11/27 Python
深入浅析Python 命令行模块 Click
2020/03/11 Python
Numpy中np.random.rand()和np.random.randn() 用法和区别详解
2020/10/23 Python
详解pandas中利用DataFrame对象的.loc[]、.iloc[]方法抽取数据
2020/12/13 Python
python绘图模块之利用turtle画图
2021/02/12 Python
旅游管理毕业生自荐信
2013/11/05 职场文书
电脑教师的教学自我评价
2013/11/26 职场文书
生死牛玉儒观后感
2015/06/11 职场文书
告别网页搜索!教你用python实现一款属于自己的翻译词典软件
2021/06/03 Python
开机音效回归! Windows 11重新引入开机铃声
2021/11/21 数码科技