详解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 相关文章推荐
js 调整select 位置的函数
Feb 21 Javascript
一个很酷的拖动层的js类,兼容IE及Firefox
Jun 23 Javascript
一个基于jquery的图片切换效果
Jul 06 Javascript
JQuery的read函数与js的onload不同方式实现
Mar 18 Javascript
基于jquery实现的图片在各种分辨率下未知的容器内上下左右居中
May 11 Javascript
JavaScript和HTML DOM的区别与联系及Javascript和DOM的关系
Nov 15 Javascript
基于javascript制作微博发布栏效果
Apr 04 Javascript
js简单获取表单中单选按钮值的方法
Aug 23 Javascript
一个极为简单的requirejs实现方法
Oct 20 Javascript
jQuery Easyui datagrid editor为combobox时指定数据源实例
Dec 19 Javascript
微信小程序全局变量的设置、使用、修改过程解析
Sep 24 Javascript
Vue v-model组件封装(类似弹窗组件)
Jan 08 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
GBK的页面输出JSON格式的php函数
2010/02/16 PHP
一个php短网址的生成代码(仿微博短网址)
2014/05/07 PHP
非常实用的PHP常用函数汇总
2014/12/17 PHP
PHP限制HTML内容中图片必须是本站的方法
2015/06/16 PHP
php中照片旋转 (orientation) 问题的正确处理
2017/02/16 PHP
PHP设计模式(五)适配器模式Adapter实例详解【结构型】
2020/05/02 PHP
JS的递增/递减运算符和带操作的赋值运算符的等价式
2007/12/08 Javascript
javascript实现的在当前窗口中漂浮框的代码
2010/03/15 Javascript
基于jquery实现的上传图片及图片大小验证、图片预览效果代码
2011/04/12 Javascript
用客户端js实现带省略号的分页
2013/04/27 Javascript
js 判断文件类型并控制表单提交示例代码
2013/11/14 Javascript
Vue数据驱动模拟实现1
2017/01/11 Javascript
如何快速上手Vuex
2017/02/14 Javascript
vue axios用法教程详解
2017/07/23 Javascript
以v-model与promise两种方式实现vue弹窗组件
2018/05/21 Javascript
Vue结合后台导入导出Excel问题详解
2019/02/19 Javascript
如何实现双向绑定mvvm的原理实现
2019/05/28 Javascript
vant中的toast轻提示实现代码
2020/11/04 Javascript
[50:58]2018DOTA2亚洲邀请赛 4.1 小组赛 B组 Mineski vs EG
2018/04/03 DOTA
python实现的简单窗口倒计时界面实例
2015/05/05 Python
Python中支持向量机SVM的使用方法详解
2017/12/26 Python
python引用(import)某个模块提示没找到对应模块的解决方法
2019/01/19 Python
Python基础之函数的定义与使用示例
2019/03/23 Python
python字符串切割:str.split()与re.split()的对比分析
2019/07/16 Python
python进程间通信Queue工作过程详解
2019/11/01 Python
Windows下Anaconda和PyCharm的安装与使用详解
2020/04/23 Python
在keras里面实现计算f1-score的代码
2020/06/15 Python
全球烹饪课程的领先预订平台:Cookly
2020/01/28 全球购物
JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?
2015/10/22 面试题
办公文员的工作岗位职责
2013/11/12 职场文书
电气工程及自动化专业自荐书范文
2013/12/18 职场文书
2014年便民服务中心工作总结
2014/12/20 职场文书
2015年数学教师工作总结
2015/05/20 职场文书
培养联系人考察意见
2015/06/01 职场文书
教您:房贷工资收入证明应该怎么写?
2019/08/19 职场文书
zabbix 代理服务器的部署与 zabbix-snmp 监控问题
2022/07/15 Servers