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 相关文章推荐
cssQuery()的下载与使用方法
Jan 12 Javascript
Open and Print a Word Document
Jun 15 Javascript
js/ajax跨越访问-jsonp的原理和实例(javascript和jquery实现代码)
Dec 27 Javascript
innerText和textContent对比及使用介绍
Feb 27 Javascript
jQuery()方法的第二个参数详解
Apr 29 Javascript
angularJS Provider、factory、service详解及实例代码
Sep 21 Javascript
javascript使用正则实现去掉字符串前面的所有0
Jul 23 Javascript
Vue.js组件间通信方式总结【推荐】
Nov 23 Javascript
详解vue路由篇(动态路由、路由嵌套)
Jan 27 Javascript
微信接入之获取用户头像的方法步骤
Sep 23 Javascript
layui扩展上传组件模拟进度条的方法
Sep 23 Javascript
原生小程序封装跑马灯效果
Oct 21 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
咖啡语言
2021/03/03 咖啡文化
thinkphp中ajax与php响应过程详解
2014/12/08 PHP
php实现上传图片保存到数据库的方法
2015/02/11 PHP
[推荐]javascript 面向对象技术基础教程
2009/03/03 Javascript
传智播客学习之JavaScript基础篇
2009/11/13 Javascript
gridview生成时如何去掉style属性中的border-collapse
2014/09/30 Javascript
jQuery实现移动 和 渐变特效的点击事件
2015/02/26 Javascript
JavaScript中的getDay()方法使用详解
2015/06/09 Javascript
AngularJS身份验证的方法
2016/02/17 Javascript
jQuery异步提交表单实例
2017/05/30 jQuery
荐书|您有一份JavaScript书单待签收
2017/07/21 Javascript
微信小程序下拉刷新PullDownRefresh的使用方法
2018/11/29 Javascript
vue实现分页组件
2020/06/16 Javascript
IE11下处理Promise及Vue的单项数据流问题
2019/07/24 Javascript
vue-cli4.x创建企业级项目的方法步骤
2020/06/18 Javascript
vue+element-ui表格封装tag标签使用插槽
2020/06/18 Javascript
python使用rsa加密算法模块模拟新浪微博登录
2014/01/22 Python
python实现在sqlite动态创建表的方法
2015/05/08 Python
深入解析Python中的WSGI接口
2015/05/11 Python
Python实现Linux命令xxd -i功能
2016/03/06 Python
Python selenium 父子、兄弟、相邻节点定位方式详解
2016/09/15 Python
python之PyMongo使用总结
2017/05/26 Python
Python pyinotify日志监控系统处理日志的方法
2018/03/08 Python
mac PyCharm添加Python解释器及添加package路径的方法
2018/10/29 Python
使用Py2Exe for Python3创建自己的exe程序示例
2018/10/31 Python
对python中词典的values值的修改或新增KEY详解
2019/01/20 Python
使用Python实现跳一跳自动跳跃功能
2019/07/10 Python
django rest framework 实现用户登录认证详解
2019/07/29 Python
python:删除离群值操作(每一行为一类数据)
2020/06/08 Python
增大python字体的方法步骤
2020/07/05 Python
15个Pythonic的代码示例(值得收藏)
2020/10/29 Python
Python基于Webhook实现github自动化部署
2020/11/28 Python
Html5适配iphoneX刘海屏的简单实现
2019/04/09 HTML / CSS
2014年团支部年度工作总结
2014/12/24 职场文书
年度考核表个人总结
2015/03/06 职场文书
三星 3nm 芯片将于第二季度开始量产
2022/04/29 数码科技