详解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 对象的解释
Nov 24 Javascript
浏览器加载、渲染和解析过程黑箱简析
Nov 29 Javascript
通过JQuery实现win8一样酷炫的动态磁贴效果(示例代码)
Jul 13 Javascript
鼠标经过tr时,改变tr当前背景颜色
Jan 13 Javascript
深入理解JavaScript系列(38):设计模式之职责链模式详解
Mar 04 Javascript
jQuery 中ajax异步调用的四种方式
Jun 28 Javascript
BootStrap 下拉菜单点击之后不会出现下拉菜单(下拉菜单不弹出)的解决方案
Dec 14 Javascript
canvas基础绘制-绚丽倒计时的实例
Sep 17 Javascript
js 将canvas生成图片保存,或直接保存一张图片的实现方法
Jan 02 Javascript
微信小程序搭建自己的Https服务器
May 02 Javascript
vue 中的 render 函数作用详解
Feb 28 Javascript
解决vue项目axios每次请求session不一致的问题
Oct 24 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 mssql 日期出现中文字符的解决方法
2009/03/10 PHP
PHP批量生成静态HTML的简单原理和方法
2014/04/20 PHP
从零开始学YII2框架(一)通过Composer安装Yii2框架
2014/08/20 PHP
php函数实现判断是否移动端访问
2015/03/03 PHP
使用Mootools动态添加Css样式表代码,兼容各浏览器
2011/12/12 Javascript
javascript原生和jquery库实现iframe自适应高度和宽度
2014/07/18 Javascript
使用jquery实现仿百度自动补全特效
2015/07/23 Javascript
文字垂直滚动之javascript代码
2015/07/29 Javascript
Javascript获取数组中的最大值和最小值的方法汇总
2016/01/01 Javascript
详解用webpack2搭建angular2的项目
2017/06/22 Javascript
详解vue模拟加载更多功能(数据追加)
2017/06/23 Javascript
移动设备手势事件库Touch.js使用详解
2017/08/18 Javascript
基于VuePress 轻量级静态网站生成器的实现方法
2018/04/17 Javascript
深入理解JS的事件绑定、事件流模型
2018/05/13 Javascript
webpack手动配置React开发环境的步骤
2018/07/02 Javascript
jQuery实现表单动态添加与删除数据操作示例
2018/07/03 jQuery
浅谈关于JS下大批量异步任务按顺序执行解决方案一点思考
2019/01/08 Javascript
JavaScript之解构赋值的理解
2019/01/30 Javascript
Vue.js实现开发购物车功能的方法详解
2019/02/22 Javascript
关于layui的动态图标不显示的解决方法
2019/09/04 Javascript
jQuery实现动态向上滚动
2020/12/21 jQuery
Python采用raw_input读取输入值的方法
2014/08/18 Python
Python selenium 父子、兄弟、相邻节点定位方式详解
2016/09/15 Python
Python后台开发Django会话控制的实现
2019/04/15 Python
Python实现队列的方法示例小结【数组,链表】
2020/02/22 Python
浅谈基于Canvas的手绘风格图形库Rough.js
2018/03/19 HTML / CSS
土耳其家居建材网站:Koçtaş
2016/11/22 全球购物
俄罗斯游戏商店:Buka
2020/03/01 全球购物
模具设计与制造专业应届生求职信
2013/10/18 职场文书
机关门卫制度
2014/02/01 职场文书
党支部公开承诺书
2014/03/28 职场文书
航海技术专业毕业生求职信
2014/04/06 职场文书
离婚案件被告代理词
2015/05/23 职场文书
八月一日观后感
2015/06/10 职场文书
2015中秋祝酒词
2015/08/12 职场文书
使用nginx动态转换图片大小生成缩略图
2021/03/31 Servers