详解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 相关文章推荐
使用Math.floor与Math.random取随机整数的方法详解
May 07 Javascript
理运用命名空间让js不产生冲突避免全局变量的泛滥
Jun 15 Javascript
JavaScript在浏览器标题栏上显示当前日期和时间的方法
Mar 19 Javascript
js实现类似新浪微博首页内容渐显效果的方法
Apr 10 Javascript
JavaScript仿淘宝页面图片滚动加载及刷新回顶部的方法解析
May 24 Javascript
浅谈JS验证表单文本域输入空格的问题
Feb 14 Javascript
浅谈jQuery的bind和unbind事件(绑定和解绑事件)
Mar 02 Javascript
JS 实现获取验证码 倒计时功能
Oct 29 Javascript
jQuery Ajax async=>false异步改为同步时,解决导致浏览器假死的问题
Jul 22 jQuery
react组件基本用法示例小结
Apr 27 Javascript
vue实现lodop打印功能的示例
Nov 11 Javascript
5个实用的JavaScript新特性
Jun 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/06/17 PHP
php中通过数组进行高效随机抽取指定条记录的算法
2013/09/09 PHP
PHP+shell实现多线程的方法
2015/07/01 PHP
PHP使用数组实现矩阵数学运算的方法示例
2017/05/29 PHP
深入理解PHP的远程多会话调试
2017/09/21 PHP
PHP DB 数据库连接类定义与用法示例
2019/03/11 PHP
PHP开发实现快递查询功能详解
2019/04/08 PHP
PHP 并发场景的几种解决方案
2019/06/14 PHP
js调试工具 Javascript Debug Toolkit 2.0.0版本发布
2008/12/02 Javascript
javascript 同时在IE和FireFox获取KeyCode的代码
2010/02/07 Javascript
Jquery 模板数据绑定插件的使用方法详解
2013/07/08 Javascript
javascript实现图片循环渐显播放的方法
2015/02/24 Javascript
Javascript的表单与验证-非空验证
2016/03/18 Javascript
使用Web Uploader实现多文件上传
2016/06/08 Javascript
jQuery插件FusionCharts实现的2D面积图效果示例【附demo源码下载】
2017/03/06 Javascript
React/Redux应用使用Async/Await的方法
2017/11/16 Javascript
详解webpack多页面配置记录
2018/01/22 Javascript
vue axios数据请求get、post方法及实例详解
2018/09/11 Javascript
详解用async/await来处理异步
2019/08/28 Javascript
JS中的const命令你真懂它吗
2020/03/08 Javascript
在实例中重学JavaScript事件循环
2020/12/03 Javascript
[01:01:29]2018DOTA2亚洲邀请赛 4.4 淘汰赛 VP vs Liquid 第一场
2018/04/05 DOTA
python 对dataframe下面的值进行大规模赋值方法
2018/06/09 Python
Python3.0 实现决策树算法的流程
2019/08/08 Python
pytorch方法测试——激活函数(ReLU)详解
2020/01/15 Python
python判断正负数方式
2020/06/03 Python
Android Q之气泡弹窗的实现示例
2020/06/23 Python
python+requests接口自动化框架的实现
2020/08/31 Python
h5移动端调用支付宝、微信支付的实现
2020/06/08 HTML / CSS
吉尔德利巧克力公司:Ghirardelli Chocolate Company
2019/03/27 全球购物
J2EE包括哪些技术
2016/11/25 面试题
毕业生物理教师求职信
2013/10/17 职场文书
最新茶叶店创业计划书
2014/01/14 职场文书
《长江之歌》教学反思
2014/04/17 职场文书
追悼会答谢词范文
2015/09/29 职场文书
JDBC连接的六步实例代码(与mysql连接)
2021/05/12 MySQL