node.js版本管理工具n无效的原理和解决方法


Posted in Javascript onNovember 24, 2016

简介

n 是 node 的一个模块,可以用它来管理 node 的各种版本。类似 Python 中的 pyenv 和 Ruby 的 rbenv。n 的作者是著名的TJ大神。

通过 npm 安装 n:

$ npm install -g n

查看当前 node 版本:

$ node -v
v4.2.4

通过 n 安装指定版本:

$ n 4.4.4
install : node-v4.4.4
    mkdir : /opt/node/n/versions/node/4.4.4
    fetch : https://nodejs.org/dist/v4.4.4/node-v4.4.4-linux-x64.tar.gz
###################################100.0%
  installed : v4.2.4

再查看当前 node 版本:

$ node -v
v4.2.4 #和原来一样

解决方法

如果你跟我一样,发现 node 版本没有任何变化,那最有可能的情况就是,你的node的安装目录和 n 默认的路径不一样。

查看 node 当前安装路径:

$ which node
/opt/node/bin/node #举个例子

而 n 默认安装路径是 /usr/local,若你的 node 不是在此路径下,n 切换版本就不能把bin、lib、include、share 复制该路径中,所以我们必须通过N_PREFIX变量来修改 n 的默认node安装路径。

编辑环境配置文件:

vim ~/.bash_profile

将下面两行代码插入到文件末尾:

export N_PREFIX=/opt/node #node实际安装位置
export PATH=$N_PREFIX/bin:$PATH

:wq保存退出;

执行source使修改生效。

$ source ~/.bash_profile

确认一下环境变量是否生效:

echo $N_PREFIX
/opt/node

这时候我们需要重新安装:

$ n 4.4.4
install : node-v4.4.4
    mkdir : /opt/node/n/versions/node/4.4.4
    fetch : https://nodejs.org/dist/v4.4.4/node-v4.4.4-linux-x64.tar.gz
##############100.0%
  installed : v4.4.4

再查看当前 node 版本:

$ node -v
v4.4.4

说明修改成功。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
使用js+jquery实现无限极联动
May 23 Javascript
js螺旋动画效果的具体实例
Nov 15 Javascript
javascript模拟订火车票和退票示例
Apr 24 Javascript
深入分析JQuery和JavaScript的异同
Oct 23 Javascript
AngularJS入门教程之数据绑定原理详解
Nov 02 Javascript
js实现倒计时及时间对象
Nov 15 Javascript
Bootstrap基本组件学习笔记之缩略图(13)
Dec 08 Javascript
js实现刷新页面后回到记录时滚动条的位置【两种方案可选】
Dec 12 Javascript
AngularJS中$injector、$rootScope和$scope的概念和关联关系深入分析
Jan 19 Javascript
Jquery鼠标放上去显示全名的实现方法
Feb 06 Javascript
Vue.js中数据绑定的语法教程
Jun 02 Javascript
浅析前端路由简介以及vue-router实现原理
Jun 01 Javascript
jQuery实现表格与ckeckbox的全选与单选功能
Nov 24 #Javascript
自定义require函数让浏览器按需加载Js文件
Nov 24 #Javascript
JQuery实现列表中复选框全选反选功能封装(推荐)
Nov 24 #Javascript
完美解决IE不支持Data.parse()的问题
Nov 24 #Javascript
JS 终止执行的实现方法
Nov 24 #Javascript
JS/jQuery判断DOM节点是否存在的简单方法
Nov 24 #Javascript
jquery网页日历显示控件calendar3.1使用详解
Nov 24 #Javascript
You might like
教你IIS6的PHP最佳配置方法
2006/09/05 PHP
PHP编程之高级技巧——利用Mysql函数
2006/10/09 PHP
php 中include()与require()的对比
2006/10/09 PHP
PHP远程连接MYSQL数据库非常慢的解决方法
2008/07/05 PHP
PHP 前加at符合@的作用解析
2015/07/31 PHP
PHP判断数组是否为空的常用方法(五种方法)
2017/02/08 PHP
php设计模式之单例模式用法经典示例分析
2019/09/20 PHP
javascript下对于事件、事件流、事件触发的顺序随便说说
2010/07/17 Javascript
js截取函数(indexOf,join等)
2010/09/01 Javascript
也说JavaScript中String类的replace函数
2011/09/22 Javascript
Javascript实现滑块滑动改变值的实现代码
2013/04/12 Javascript
Js日期选择自动填充到输入框(界面漂亮兼容火狐)
2013/08/02 Javascript
js 表单提交后按钮变灰的实例代码
2013/08/16 Javascript
javascript在网页中实现读取剪贴板粘贴截图功能
2014/06/07 Javascript
js字符串操作方法实例分析
2015/05/06 Javascript
javascript实现点击单选按钮链接转向对应网址的方法
2015/08/12 Javascript
ES6的新特性概览
2016/03/10 Javascript
使用BootStrapValidator完成前端输入验证
2016/09/28 Javascript
微信小程序 图片边框解决方法
2017/01/16 Javascript
Kindeditor单独调用单图上传增加预览功能的实例
2017/07/31 Javascript
JS加密插件CryptoJS实现AES加密操作示例
2018/08/16 Javascript
全面解析js中的原型,原型对象,原型链
2021/01/25 Javascript
[01:11:32]VG vs FNATIC 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
[06:45]DOTA2-DPC中国联赛 正赛 Magma vs LBZS 选手采访
2021/03/11 DOTA
让Python代码更快运行的5种方法
2015/06/21 Python
Python文件夹与文件的相关操作(推荐)
2016/07/25 Python
python django生成迁移文件的实例
2019/08/31 Python
Java ExcutorService优雅关闭方式解析
2020/05/30 Python
详解python变量与数据类型
2020/08/25 Python
FC-Moto英国:欧洲最大的摩托车服装和头盔商店之一
2019/08/25 全球购物
暑期实习鉴定
2013/12/16 职场文书
教师党员思想汇报
2014/01/06 职场文书
运动会通讯稿200字
2014/02/16 职场文书
献爱心大型公益活动策划方案
2014/09/15 职场文书
幼儿教师三分钟演讲稿
2019/06/21 职场文书
Python开发五子棋小游戏
2022/05/02 Python