安装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
默认情况下不存在或为空。
对于bash
, ksh
和zsh
,会自动修改相关的shell初始化文件(例如~/.bashrc
)以定义环境variablesN_PREFIX
,并将$N_PREFIX/bin
附加到$PATH
; 对于其他炮弹,这必须手动完成。
除了直接从GitHub安装n
之外,它还安装助手脚本来更新n
( n-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上非常方便。