详解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 相关文章推荐
简明json介绍
Sep 28 Javascript
javascript 时间比较实现代码
Oct 28 Javascript
js综合应用实例简单的表格统计
Sep 03 Javascript
javascript实现的元素拖动函数宿主为浏览器
Jul 21 Javascript
jquery.map()方法的使用详解
Jul 09 Javascript
javascript实现类似百度分享功能的方法
Jul 27 Javascript
js脚本分页代码分享(7种样式)
Aug 19 Javascript
Chrome不支持showModalDialog模态对话框和无法返回returnValue问题的解决方法
Oct 30 Javascript
jquery实现图片平滑滚动详解
Mar 22 jQuery
Bootstrap图片轮播效果详解
Oct 17 Javascript
Layui数据表格之获取表格中所有的数据方法
Aug 20 Javascript
详解JavaScript数据类型和判断方法
Sep 04 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 多关键字 高亮显示实现代码
2012/04/23 PHP
php使用smtp发送支持附件的邮件示例
2014/04/13 PHP
laravel实现批量更新多条记录的方法示例
2017/10/22 PHP
PHP基于双向链表与排序操作实现的会员排名功能示例
2017/12/26 PHP
详解no input file specified 三种解决方法
2019/11/29 PHP
php设计模式之正面模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
广告显示判断
2006/08/31 Javascript
转自Jquery官方 jQuery1.1.3发布,速度提升800%,体积保持20K
2007/08/19 Javascript
JavaScript Object的extend是一个常用的功能
2009/12/02 Javascript
jquery中dom操作和事件的实例学习-表单验证
2011/11/30 Javascript
Javascript跨域请求的4种解决方式
2013/03/17 Javascript
原生JS实现加入收藏夹的代码
2013/10/24 Javascript
javascript实现禁止右键和F12查看源代码
2014/12/26 Javascript
javascript实现多栏闭合展开式广告位菜单效果实例
2015/08/05 Javascript
javascript下拉列表中显示树形菜单的实现方法
2015/11/17 Javascript
浅谈JavaScript的内置对象和浏览器对象
2016/06/03 Javascript
全面解析Bootstrap中tooltip、popover的使用方法
2016/06/13 Javascript
jquery checkbox无法用attr()二次勾选问题的解决方法
2016/07/22 Javascript
微信小程序 前端源码逻辑和工作流详解
2016/10/08 Javascript
jQuery密码强度验证控件使用详解
2017/01/05 Javascript
Ionic+AngularJS实现登录和注册带验证功能
2017/02/09 Javascript
详解Vue单元测试case写法
2018/05/24 Javascript
bootstrap table实现iview固定列的效果实例代码详解
2019/09/30 Javascript
Python操作MySQL数据库9个实用实例
2015/12/11 Python
Python学习教程之常用的内置函数大全
2017/07/14 Python
python 根据时间来生成唯一的字符串方法
2019/01/14 Python
python实现Virginia无密钥解密
2019/03/20 Python
Django-migrate报错问题解决方案
2020/04/21 Python
移动端Web页面的CSS3 flex布局快速上手指南
2016/05/31 HTML / CSS
Bonami斯洛伐克:购买家具和家居饰品
2019/07/02 全球购物
Michael Kors澳大利亚官网:世界知名的奢侈饰品和成衣设计师
2020/02/13 全球购物
Wolford法国官网:奥地利奢侈内衣品牌
2020/08/11 全球购物
2014年社区植树节活动方案
2014/02/28 职场文书
电子工程求职信
2014/07/17 职场文书
党员干部反四风民主生活会对照检查材料思想汇报
2014/10/12 职场文书
十佳少年事迹材料
2014/12/25 职场文书