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 相关文章推荐
用YUI做了个标签浏览效果
Feb 20 Javascript
javascript appendChild,innerHTML,join性能比较代码
Aug 29 Javascript
JQuery中$.ajax()方法参数详解及应用
Dec 12 Javascript
jquery操作select大全
Apr 25 Javascript
JS+CSS实现仿支付宝菜单选中效果代码
Sep 25 Javascript
基于Jquery实现仿百度百科右侧导航代码附源码下载
Nov 27 Javascript
JavaScript中子对象访问父对象的方式详解
Sep 01 Javascript
javascript简单链式调用案例分析
May 10 Javascript
React key值的作用和使用详解
Aug 23 Javascript
JS实现排行榜文字向上滚动轮播效果
Nov 26 Javascript
深入理解 TypeScript Reflect Metadata
Dec 12 Javascript
VUE子组件向父组件传值详解(含传多值及添加额外参数场景)
Sep 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
浅析is_writable的php实现
2013/06/18 PHP
Linux平台php命令行程序处理管道数据的方法
2016/11/10 PHP
thinkPHP5.0框架验证码调用及点击图片刷新简单实现方法
2018/09/07 PHP
jQuery处理xml格式的返回数据(实例解析)
2013/11/28 Javascript
JS记录用户登录次数实现代码
2014/01/15 Javascript
通过Jquery的Ajax方法读取将table转换为Json
2014/05/31 Javascript
javascript 获取函数形参个数
2014/07/31 Javascript
JavaScript 学习笔记之语句
2015/01/14 Javascript
基于JavaScript实现移除(删除)数组中指定元素
2016/01/04 Javascript
Node.js检测端口(port)是否被占用的简单示例
2016/09/29 Javascript
easyui messager alert 三秒后自动关闭提示的实例
2016/11/07 Javascript
mpvue将vue项目转换为小程序
2018/09/30 Javascript
微信小程序学习笔记之获取位置信息操作图文详解
2019/03/29 Javascript
vue中node_modules中第三方模块的修改使用详解
2019/05/31 Javascript
javascript面向对象三大特征之继承实例详解
2019/07/24 Javascript
一篇文章带你浅入webpack的DLL优化打包
2020/02/20 Javascript
Python基于回溯法子集树模板解决马踏棋盘问题示例
2017/09/11 Python
Python 对输入的数字进行排序的方法
2018/06/23 Python
Python中存取文件的4种不同操作
2018/07/02 Python
python之文件读取一行一行的方法
2018/07/12 Python
numpy 对矩阵中Nan的处理:采用平均值的方法
2018/10/30 Python
Django 开发环境与生产环境的区分详解
2019/07/26 Python
Django实现跨域的2种方法
2019/07/31 Python
Python 使用多属性来进行排序
2019/09/01 Python
Python内置类型性能分析过程实例
2020/01/29 Python
德国BA保镖药房中文网:Bodyguard Apotheke
2021/03/09 全球购物
中学生操行评语大全
2014/04/24 职场文书
2014年教师党员公开承诺书
2014/05/28 职场文书
营销总经理岗位职责范本
2014/09/02 职场文书
中学教师个人总结
2015/02/10 职场文书
教师聘用意向书
2015/05/11 职场文书
会计做账心得体会
2016/01/22 职场文书
2019年聘任书的写作格式及范文!
2019/07/03 职场文书
研究生学习计划书应该怎么写?
2019/09/10 职场文书
祝福语集锦:给百岁老人祝寿贺词
2019/11/19 职场文书
Python requests库参数提交的注意事项总结
2021/03/29 Python