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 相关文章推荐
javascript 跨浏览器开发经验总结(五) js 事件
May 19 Javascript
jquery ui resizable bug解决方法
Oct 26 Javascript
JQquery的一些使用心得分享
Aug 01 Javascript
JavaScript使用replace函数替换字符串的方法
Apr 06 Javascript
Angularjs手动解析表达式($parse)
Oct 12 Javascript
原生javascript实现的ajax异步封装功能示例
Nov 03 Javascript
详解Angular 4.x NgIf 的用法
May 22 Javascript
Webpack常见静态资源处理-模块加载器(Loaders)+ExtractTextPlugin插件
Jun 29 Javascript
js操作二进制数据方法
Mar 03 Javascript
在vue项目中集成graphql(vue-ApolloClient)
Sep 08 Javascript
JavaScript数据结构与算法之检索算法示例【二分查找法、计算重复次数】
Feb 22 Javascript
Vue简单实现原理详解
May 07 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
php使用PDO方法详解
2014/12/27 PHP
基于GD2图形库的PHP生成图片缩略图类代码分享
2015/02/08 PHP
php array_map()函数实例用法
2021/03/03 PHP
javascript 时间比较实现代码
2009/10/28 Javascript
js判断字符长度以及中英文数字等
2013/12/31 Javascript
js实现文本框支持加减运算的方法
2015/08/19 Javascript
jQuery height()、innerHeight()、outerHeight()函数的区别详解
2016/05/23 Javascript
JS未跨域操作iframe里的DOM
2016/06/01 Javascript
Bootstrap模态框(modal)垂直居中的实例代码
2016/08/18 Javascript
利用js编写响应式侧边栏
2016/09/17 Javascript
Javascript 函数的四种调用模式
2016/11/05 Javascript
Bootstrap Modal对话框如何在关闭时触发事件
2016/12/02 Javascript
web 屏蔽BackSpace键实例代码
2016/12/24 Javascript
使用ES6语法重构React代码详解
2017/05/09 Javascript
react项目实践之webpack-dev-serve
2018/09/14 Javascript
Layui多选只有最后一个值的解决方法
2019/09/02 Javascript
webpack4 配置 ssr 环境遇到“document is not defined”
2019/10/24 Javascript
js实现简单五子棋游戏
2020/05/28 Javascript
ES6的循环与可迭代对象示例详解
2021/01/31 Javascript
[55:23]VGJ.T vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
Python抽象类的新写法
2015/06/18 Python
Python 遍历子文件和所有子文件夹的代码实例
2016/12/21 Python
Python决策树之基于信息增益的特征选择示例
2018/06/25 Python
用python统计代码行的示例(包括空行和注释)
2018/07/24 Python
简单了解python 邮件模块的使用方法
2019/07/24 Python
python 根据网易云歌曲的ID 直接下载歌曲的实例
2019/08/24 Python
flask框架json数据的拿取和返回操作示例
2019/11/28 Python
wxpython自定义下拉列表框过程图解
2020/02/14 Python
Python TKinter如何自动关闭主窗口
2020/02/26 Python
松本清官方海外旗舰店:日本最大的药妆连锁店
2017/11/21 全球购物
给酒店员工的表扬信
2014/01/11 职场文书
前台文员岗位职责
2015/02/04 职场文书
自荐信模板大全
2015/03/27 职场文书
停电通知范文
2015/04/16 职场文书
建议书的格式及范文
2015/09/14 职场文书
Python if else条件语句形式详解
2022/03/24 Python