详解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 相关文章推荐
firefox浏览器下javascript 拖动层效果与原理分析代码
Dec 04 Javascript
javascript中的继承实例代码
Apr 27 Javascript
js中的preventDefault与stopPropagation详解
Jan 29 Javascript
JS获取地址栏参数的几种方法小结
Feb 28 Javascript
在JS数组特定索引处指定位置插入元素
Jul 27 Javascript
jQuery中:checked选择器用法实例
Jan 04 Javascript
jquery表单提交带错误信息提示效果
Mar 09 Javascript
jQuery实现分页功能(含ajax请求、后台数据、附完整demo)
Apr 03 jQuery
vue3.0 CLI - 3.2 路由的初级使用教程
Sep 20 Javascript
详解webpack之图片引入-增强的file-loader:url-loader
Oct 08 Javascript
详解vue-router 动态路由下子页面多页共活的解决方案
Dec 22 Javascript
对vue生命周期的深入理解
Dec 03 Vue.js
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
咖啡的化学
2021/03/03 咖啡文化
PHP中防止SQL注入攻击和XSS攻击的两个简单方法
2010/04/15 PHP
zend framework框架中url大小写问题解决方法
2014/08/19 PHP
thinkphp的URL路由规则与配置实例
2014/11/26 PHP
根据判断浏览器类型屏幕分辨率自动调用不同CSS的代码
2007/02/22 Javascript
js实现表格字段排序
2014/02/19 Javascript
用原生js做个简单的滑动效果的回到顶部
2014/10/15 Javascript
js鼠标点击图片切换效果实现代码
2015/11/19 Javascript
详解JavaScript中|单竖杠运算符的使用方法
2016/05/23 Javascript
JS/jQ实现免费获取手机验证码倒计时效果
2016/06/13 Javascript
javaScript如何跳出多重循环break、continue
2016/09/01 Javascript
vue.js+boostrap项目实践(案例详解)
2016/09/21 Javascript
微信小程序 跳转传递数据的实例
2017/07/06 Javascript
如何编写一个完整的Angular4 FormText 组件
2017/11/18 Javascript
vue配置多页面的实现方法
2018/05/22 Javascript
基于bootstrap页面渲染的问题解决方法
2018/08/09 Javascript
深入理解JS中Number(),parseInt(),parseFloat()三者比较
2018/08/24 Javascript
puppeteer实现html截图的示例代码
2019/01/10 Javascript
JavaScript封闭函数及常用内置对象示例
2019/05/13 Javascript
对TypeScript库进行单元测试的方法
2019/07/18 Javascript
Element-ui DatePicker显示周数的方法示例
2019/07/19 Javascript
JavaScript数组排序功能简单实现
2020/05/14 Javascript
Python的条件语句与运算符优先级详解
2015/10/13 Python
Python实现的选择排序算法示例
2017/11/29 Python
Python Tkinter模块实现时钟功能应用示例
2018/07/23 Python
用Python绘制漫步图实例讲解
2020/02/26 Python
python实现UDP协议下的文件传输
2020/03/20 Python
解决Python在导入文件时的FileNotFoundError问题
2020/04/10 Python
python3中编码获取网页的实例方法
2020/11/16 Python
canvas压缩图片以及卡片制作的方法示例
2018/12/04 HTML / CSS
保时捷设计:Porsche Design
2019/03/30 全球购物
班班通校本培训方案
2014/03/12 职场文书
超市啤酒狂欢夜策划方案范文!
2019/07/03 职场文书
浅谈Python中的正则表达式
2021/06/28 Python
Python实现灰色关联分析与结果可视化的详细代码
2022/03/25 Python
Apache Pulsar结合Hudi构建Lakehouse方案分析
2022/03/31 Servers