安装Node.js安装n来安装Node.js?

我有一个理解使用n的问题。 基本上,很显然它是Node.js(如nvm )的版本pipe理器。

但与nvm(基本上是一个shell脚本)相反,根据文档,build议使用npm来安装n

$ npm install -gn 

我没有得到的是:为了有npm手头,你需要安装Node.js。 为什么要手动安装Node.js来使用npm ,然后才能使用n来安装Node.js?

换句话说:为什么nbuild议使用npm安装,如果其主要目的是安装Node.js,其中包括npm?

TL; 博士

 # Installs n and the latest stable Node.js version to ~/n. # For bash, ksh, zsh, modifies the respective user-specific shell-initialization file to # define env. variable N_PREFIX and append $N_PREFIX/bin to the $PATH. curl -L https://git.io/n-install | bash 

我感到你的痛苦。 安装Node.js然后安装n然后pipe理Node.js安装确实是一个奇怪的设置。

首先能够自行安装n确实很棒。

我创build了一个项目来支持直接从GitHub安装n ; 除了n本身需要唯一先决条件是git

请注意,您必须先删除任何预先存在的n / Node.js版本。
目标目录~/n默认情况下不存在或为空。
对于bashkshzsh ,会自动修改相关的shell初始化文件(例如~/.bashrc )以定义环境variablesN_PREFIX ,并将$N_PREFIX/bin附加到$PATH ; 对于其他炮弹,这必须手动完成。

除了直接从GitHub安装n之外,它还安装助手脚本来更新nn-update )并卸载它( n-uninstall )。

这里是工作的例子 ; 有关详细信息,请参阅n-install GitHub回购 :

  • 安装并确认提示以确认安装到默认位置$HOME/n并安装最新的稳定Node.js版本:

     curl -L https://git.io/n-install | bash 
  • 自动安装到默认位置,随后安装最新的LTS(长期支持)和稳定的Node.js版本,以及最新的4.1.x Node.js版本:

     curl -L https://git.io/n-install | bash -s -- -y lts stable 4.1 
  • 自动安装到默认位置, 无需安装最新的稳定Node.js版本:

     curl -L https://git.io/n-install | bash -s -- -y - 
  • 自动安装到自定义位置~/util/n ,随后安装最新的稳定Node.js版本:

     curl -L https://git.io/n-install | N_PREFIX=~/util/n bash -s -- -y 

如果你愿意,你可以从源代码安装n:

 mkdir ~/tmp cd ~/tmp git clone https://github.com/tj/n cd n make install 

然后你可以安装最新的稳定版本的节点如下:

 n stable 

n模块是为了方便而创build的。

例如,如果您想将您的Node.js版本从v0.8.0更新到v0.10.20,您是否愿意下载一个包,解压缩并编译? 或者你宁愿inputn 0.10.20并立即安装,同时仍然保留以前版本的节点,以便轻松切换?

nbuild议使用npm来安装它,因为n是一个模块。 也就是说, npm是安装它的最简单的方法。 节点模块具有在全局安装时能够在shell中运行的function,因此使用该function使开关节点版本更容易。

您也可以从Node.JS单独安装npm ; 例如:在没有Node.JS的系统上:

 git clone https://github.com/npm/npm cd npm ./configure make 

参考: NPM GitHub项目

我有同样的问题,但已经看到了光明。 'n'是一个方便的工具,可以很容易的testing不同版本的节点。 在Linux上效果很好,但是无论我怎么试着在OS X上安装它(git clone,然后npm install或者使用user456584的推荐方法),当我运行它的时候,我总是得到和“ Error:no installed版本 “,即使安装到

在/ usr / local / lib目录/ node_modules / N

在/ usr / local / bin目录/ N

令人沮丧,因为我发现这个工具在Linux上非常方便。