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 相关文章推荐
jquery select(列表)的操作(取值/赋值)
Aug 06 Javascript
jquery实现拖拽调整Div大小
Jan 30 Javascript
jQuery实现鼠标划过展示大图的方法
Mar 09 Javascript
使用coffeescript编写node.js项目的方法汇总
Aug 05 Javascript
js调出上下文菜单的实例
Dec 17 Javascript
JS实现图片平面旋转的方法
Mar 01 Javascript
基于JavaScript实现智能右键菜单
Mar 02 Javascript
WebSocket+node.js创建即时通信的Web聊天服务器
Aug 08 Javascript
ES6新特性之Object的变化分析
Mar 31 Javascript
详解webpack3编译兼容IE8的正确姿势
Dec 21 Javascript
vue.js中导出Excel表格的案例分析
Jun 11 Javascript
vue-socket.io跨域问题有效解决方法
Feb 11 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
Codeigniter(CI)框架分页函数及相关知识
2014/11/03 PHP
PHP依赖注入(DI)和控制反转(IoC)详解
2017/06/12 PHP
PHP多进程通信-消息队列使用
2019/03/08 PHP
在你的网页中嵌入外部网页的方法
2007/04/02 Javascript
JQUERY CHECKBOX全选,取消全选,反选方法三
2008/08/30 Javascript
动态的改变IFrame的高度实现IFrame自动伸展适应高度
2012/12/28 Javascript
javascript实现页面刷新时自动清空表单并选中的方法
2015/07/18 Javascript
javascript实现超炫的向上滑行菜单实例
2015/08/03 Javascript
js如何打印object对象
2015/10/16 Javascript
类似于QQ的右滑删除效果的实现方法
2016/10/16 Javascript
jQuery的ajax中使用FormData实现页面无刷新上传功能
2017/01/16 Javascript
Node.js读取文件内容示例
2017/03/07 Javascript
Angular2中监听数据更新的方法
2018/08/31 Javascript
axios对请求各种异常情况处理的封装方法
2018/09/25 Javascript
Bootstrap实现前端登录页面带验证码功能完整示例
2020/03/26 Javascript
基于javascript原生判断DOM是否加载完毕
2020/10/14 Javascript
python生成式的send()方法(详解)
2017/05/08 Python
基于Django contrib Comments 评论模块(详解)
2017/12/08 Python
python奇偶行分开存储实现代码
2018/03/19 Python
Python Django2 model 查询介绍(条件、范围、模糊查询)
2020/03/16 Python
Python中Selenium库使用教程详解
2020/07/23 Python
非常漂亮的CSS3百叶窗焦点图动画
2016/02/24 HTML / CSS
Nike瑞典官方网站:Nike.com (SE)
2018/11/26 全球购物
DC Shoes俄罗斯官网:美国滑板鞋和服饰品牌
2020/08/19 全球购物
描述RIP和OSPF区别以及特点
2015/01/17 面试题
药品采购员岗位职责
2014/02/08 职场文书
2014年学雷锋活动总结
2014/06/26 职场文书
乡镇群众路线教育实践活动整改措施
2014/10/04 职场文书
入党积极分子个人总结
2015/03/02 职场文书
2015年审计人员工作总结
2015/05/26 职场文书
2016年春季运动会广播稿
2015/08/19 职场文书
幼儿园开学家长寄语(2016春季)
2015/12/03 职场文书
导游词范文之颐和园/重庆/云台山
2019/09/10 职场文书
golang 生成对应的数据表struct定义操作
2021/04/28 Golang
Java数据结构之链表相关知识总结
2021/06/18 Java/Android
Mysql中一千万条数据怎么快速查询
2021/12/06 MySQL