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

说明修改成功。

总结

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

相关文章

  • node.js使用fs读取文件出错的解决方案

    node.js使用fs读取文件出错的解决方案

    在本篇文章里我们给大家带来一篇关于node.js使用fs读取文件出错的解决办法,有需要的朋友们参考下。
    2019-10-10
  • node.js中的fs.writeFileSync方法使用说明

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

    这篇文章主要介绍了node.js中的fs.writeFileSync方法使用说明,本文介绍了fs.writeFileSync的方法说明、语法、接收参数、使用实例和实现源码,需要的朋友可以参考下
    2014-12-12
  • Node.js 搭建后端服务器内置模块( http+url+querystring 的使用)

    Node.js 搭建后端服务器内置模块( http+url+querystring 的使用)

    这篇文章主要介绍了Node.js搭建后端服务器内置模块(http+url+querystring的使用),文章围绕主题展开详细的内容戒杀,具有一定的参考价值,需要的朋友可以参考一下
    2022-09-09
  • nodejs编写bash脚本的终极方案分享

    nodejs编写bash脚本的终极方案分享

    你懂JavaScript吗?你需要写一个Shell脚本吗?那么你应该试一下Node.js,它很容易安装,而且很适合通过写Shell脚本来学习它,下面这篇文章主要给大家介绍了关于nodejs编写bash脚本的终极方案,需要的朋友可以参考下
    2021-08-08
  • Node的stream数据流你了解吗

    Node的stream数据流你了解吗

    这篇文章主要为大家详细介绍了Node的stream数据流,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-02-02
  • NodeJS实现自定义流的方法

    NodeJS实现自定义流的方法

    在 NodeJS 中要想实现自定义流,需要依赖模块 stream ,直接引入,不需下载,所有种类的流都是继承这个模块内部提供的对应不同种类的类来实现的。接下来通过本文给大家介绍NodeJS实现自定义流的方法,一起看看吧
    2018-08-08
  • mocha的时序规则讲解

    mocha的时序规则讲解

    今天小编就为大家分享一篇关于mocha的时序规则讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • typescript nodejs 依赖注入实现方法代码详解

    typescript nodejs 依赖注入实现方法代码详解

    今天分享的是用typescript语言实现的ioc模式,这边用到的主要组件是 reflect-metadata 这个组件可以获取或者设置元数据信息,接下来通过本文给大家介绍typescript nodejs 依赖注入实现方法,需要的朋友可以参考下
    2019-07-07
  • 一个简单的node.js界面实现方法

    一个简单的node.js界面实现方法

    今天小编就为大家分享一篇一个简单的node.js界面实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • Node.js 的模块知识汇总

    Node.js 的模块知识汇总

    node.js中是通过模块来划分为单位来划分所有功能的。每个模块为一个js文件。每个模块中定义的全局变量或函数的作用范围也被限制在这个模块中,只能用exports对象将其传递到外部。
    2017-08-08

最新评论