详解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 vvorld 在线加密破解方法
Nov 13 Javascript
js 返回时间戳所对应的具体时间
Jul 20 Javascript
基于IE下ul li 互相嵌套时的bug,排查,解决过程以及心得介绍
May 07 Javascript
函数式 JavaScript(一)简介
Jul 07 Javascript
js实现的四级左侧网站分类菜单实例
May 06 Javascript
AngularJS API之copy深拷贝详解及实例
Sep 14 Javascript
JS实现随机颜色的3种方法与颜色格式的转化
Jan 05 Javascript
浅谈箭头函数写法在ReactJs中的使用
Aug 22 Javascript
Bootstrap table使用方法记录
Aug 23 Javascript
关于Vue Router中路由守卫的应用及在全局导航守卫中检查元字段的方法
Dec 09 Javascript
Vue.js项目实战之多语种网站的功能实现(租车)
Aug 07 Javascript
微信公众号平台接口开发 获取微信服务器IP地址方法解析
Aug 14 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 伪造本地文件包含漏洞的代码
2011/11/03 PHP
YII模块实现绑定二级域名的方法
2014/07/09 PHP
php给一组指定关键词添加span标签的方法
2015/03/31 PHP
TP5框架页面跳转样式操作示例
2020/04/05 PHP
jquery 可拖拽的窗体控件实现代码
2010/03/21 Javascript
javascript中字符串替换函数replace()方法与c# 、vb 替换有一点不同
2010/06/25 Javascript
围观tangram js库
2010/12/28 Javascript
Js数组的操作push,pop,shift,unshift等方法详细介绍
2012/12/28 Javascript
onmouseover和onmouseout的一些问题思考
2013/08/14 Javascript
js中Image对象以及对其预加载处理示例
2013/11/20 Javascript
解析JavaScript中的不可见数据类型
2013/12/02 Javascript
JQuery实现table行折叠效果以JSON做数据源
2014/05/26 Javascript
js中document.write的那点事
2014/12/12 Javascript
JavaScript保存并运算页面中数字类型变量的写法
2015/07/06 Javascript
JavaScript实现向右伸出的多级网页菜单效果
2015/08/25 Javascript
JavaScript的字符串方法汇总
2016/07/31 Javascript
VueJs监听window.resize方法示例
2018/01/17 Javascript
Vue $mount实战之实现消息弹窗组件
2019/04/22 Javascript
jQuery表单选择器用法详解
2019/08/22 jQuery
JavaScript实现简单随机点名器
2019/11/21 Javascript
vue路由传参三种基本方式详解
2019/12/09 Javascript
[56:48]FNATIC vs EG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
python基础教程之数字处理(math)模块详解
2014/03/25 Python
python3实现指定目录下文件sha256及文件大小统计
2019/02/25 Python
python顺序执行多个py文件的方法
2019/06/29 Python
Urban Outfitters德国官网:美国跨国生活方式零售公司
2018/05/21 全球购物
RealTek面试题
2016/06/28 面试题
下列程序在32位linux或unix中的结果是什么
2015/01/26 面试题
shell程序中如何注释
2012/01/28 面试题
介绍一下如何优化MySql
2016/12/20 面试题
护理学专业推荐信
2013/12/03 职场文书
竞争上岗演讲稿范文
2014/05/12 职场文书
公司活动总结范文
2014/07/01 职场文书
教师节感想
2015/08/11 职场文书
PostgreSQL存储过程实用脚本(二):创建函数入门
2021/04/05 PostgreSQL
JavaScript实现贪吃蛇游戏
2021/06/16 Javascript