node.js版本管理工具n无效的原理和解决方法

 更新时间:2016年11月24日 10:33:35   投稿:daisy   我要评论

大家都知道在Centos中一般需要根据项目的环境安装指定版本的Node, 而现有的yum源版本一般不够全面也不一定找的到所需要的指定版本, 此时就必须自行下载Node源码进行编译安装了,如果你在使用node.js版本管理工具n的时候发现工具无效,下面就来看看这篇文章的解决方法吧。

简介

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

说明修改成功。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

相关文章

  • 详解nodejs操作mongodb数据库封装DB类

    详解nodejs操作mongodb数据库封装DB类

    这篇文章主要介绍了详解nodejs操作mongodb数据库封装DB类,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • node.js中的fs.fchown方法使用说明

    node.js中的fs.fchown方法使用说明

    这篇文章主要介绍了node.js中的fs.fchown方法使用说明,本文介绍了fs.fchown方法说明、语法、接收参数、使用实例和实现源码,需要的朋友可以参考下
    2014-12-12
  • 基于node.js实现微信支付退款功能

    基于node.js实现微信支付退款功能

    在微信开发中有有付款就会有退款,这样的功能非常常见,这篇文章主要介绍了node.js实现微信支付退款功能,需要的朋友可以参考下
    2017-12-12
  • nodejs个人博客开发第五步 分配数据

    nodejs个人博客开发第五步 分配数据

    这篇文章主要为大家详细介绍了nodejs个人博客开发的分配数据,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • NodeJS模块与ES6模块系统语法及注意点详解

    NodeJS模块与ES6模块系统语法及注意点详解

    这篇文章主要给大家介绍了关于NodeJS模块与ES6模块系统语法及注意点的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-01-01
  • Node.js模拟发起http请求从异步转同步的5种用法

    Node.js模拟发起http请求从异步转同步的5种用法

    这篇文章主要介绍了Node.js模拟发起http请求从异步转同步的5种方法,下面总结了几个常见的库 API 从异步转同步的几种方法。需要的朋友可以参考下
    2018-09-09
  • 轻松创建nodejs服务器(10):处理POST请求

    轻松创建nodejs服务器(10):处理POST请求

    这篇文章主要介绍了轻松创建nodejs服务器(10):处理POST请求,本文告诉你如何实现在node.js中处理POST请求,需要的朋友可以参考下
    2014-12-12
  • node.js连接MongoDB数据库的2种方法教程

    node.js连接MongoDB数据库的2种方法教程

    这几天一直在学习mongdb的基础知识,跟着网上大神的脚步(代码)去模拟连接mongodb数据库,下面这篇文章就给大家总结介绍了node.js连接MongoDB数据库的2种方法教程,文中介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-05-05
  • Node.js中使用mongoskin操作mongoDB实例

    Node.js中使用mongoskin操作mongoDB实例

    这篇文章主要介绍了Node.js中使用mongoskin操作mongoDB实例,Mongous是一个轻量级的nodejs mongodb驱动,需要的朋友可以参考下
    2014-09-09
  • node.js中的fs.lchown方法使用说明

    node.js中的fs.lchown方法使用说明

    这篇文章主要介绍了node.js中的fs.lchown方法使用说明,本文介绍了fs.lchown的方法说明、语法、接收参数、使用实例和实现源码,需要的朋友可以参考下
    2014-12-12

最新评论