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 获得服务器控件值的方法小结
May 11 Javascript
顶部缓冲下拉菜单导航特效的JS代码
Aug 27 Javascript
js用正则表达式来验证表单(比较齐全的资源)
Nov 17 Javascript
jquery实现仿新浪微博带动画效果弹出层代码(可关闭、可拖动)
Oct 12 Javascript
模拟javascript中的sort排序(简单实例)
Aug 17 Javascript
Vue.js使用v-show和v-if的注意事项
Dec 13 Javascript
vue2.0实战之基础入门(1)
Mar 27 Javascript
浅谈angularjs依赖服务注入写法的注意点
Apr 24 Javascript
JavaScript中EventLoop介绍
Jan 22 Javascript
通过jquery toggleClass()属性制作文章段落更改背景颜色
May 21 jQuery
vue移动端实现红包雨效果
Jun 23 Javascript
在React中写一个Animation组件为组件进入和离开加上动画/过度效果
Jun 24 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学习之流程控制实现代码
2011/06/09 PHP
深入解析fsockopen与pfsockopen的区别
2013/07/05 PHP
smarty内置函数{loteral}、{ldelim}和{rdelim}用法实例
2015/01/22 PHP
crontab无法执行php的解决方法
2016/01/25 PHP
php写app接口并返回json数据的实例(分享)
2017/05/20 PHP
Firefox 无法获取cssRules 的解决办法
2006/10/11 Javascript
JavaScript的Cookies
2008/01/16 Javascript
js实现图片从左往右渐变切换效果的方法
2015/02/06 Javascript
在AngularJS中如何使用谷歌地图把当前位置显示出来
2016/01/25 Javascript
Bootstrap3制作图片轮播效果
2016/05/12 Javascript
js仿搜狐视频记录片列表展示效果
2020/05/30 Javascript
vue.js实现含搜索的多种复选框(附源码)
2017/03/23 Javascript
React通过父组件传递类名给子组件的实现方法
2017/11/13 Javascript
vue.js多页面开发环境搭建过程
2019/04/24 Javascript
Vue.js中provide/inject实现响应式数据更新的方法示例
2019/10/16 Javascript
JQuery表单元素取值赋值方法总结
2020/05/12 jQuery
[04:19]DOTA2亚洲邀请赛 现场花絮
2015/03/11 DOTA
[46:43]DOTA2上海特级锦标赛D组小组赛#1 EG VS COL第三局
2016/02/28 DOTA
[47:35]VP vs Pain 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/20 DOTA
Python数字图像处理之霍夫线变换实现详解
2018/01/12 Python
python spyder中读取txt为图片的方法
2018/04/27 Python
利用Python将数值型特征进行离散化操作的方法
2018/11/06 Python
python getpass模块用法及实例详解
2019/10/07 Python
pandas实现DataFrame显示最大行列,不省略显示实例
2019/12/26 Python
Web前端页面跳转并取到值
2017/04/24 HTML / CSS
New Balance美国官网:运动鞋和健身服装
2017/04/11 全球购物
寻找迷宫的一条出路,o通路;X:障碍
2016/07/10 面试题
Linux的主要特性
2014/10/06 面试题
物流管理专业应届生求职信
2013/11/21 职场文书
环卫工人先进事迹材料
2014/06/02 职场文书
践行三严三实心得体会
2014/10/13 职场文书
2015年清明节演讲稿范文
2015/03/17 职场文书
2015年消防工作总结
2015/04/24 职场文书
理想国读书笔记
2015/06/25 职场文书
初中化学教学反思
2016/02/22 职场文书
60句有关成长的名言
2019/09/04 职场文书