安装Node.js安装n以安装Node.js?

Gol*_*den 44 node.js npm n

我在理解n的使用时遇到了问题.基本上,很明显它是Node.js的版本管理器,例如nvm.

但与nvm相比,nvm基本上是一个shell脚本,根据文档,我们鼓励你使用npm来安装n:

$ npm install -g n
Run Code Online (Sandbox Code Playgroud)

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

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

mkl*_*nt0 38

TL; 博士

# Installs n and the latest LTS 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  
Run Code Online (Sandbox Code Playgroud)

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

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

我已经创建了一个项目来支持n直接从GitHub 安装 ; 超出n自身需要git唯一先决条件.

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

除了n直接从GitHub 安装外,它还安装了帮助程序脚本,用于更新n(n-update)和卸载它(n-uninstall).

这是工作的例子 ; 有关详细信息,请参阅n-install GitHub存储库:

  • @btx9000:是的:您可以将 2 个版本的 `n` 紧挨着安装以升级到 `m`。 (2认同)

use*_*584 21

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

cd /tmp
git clone --depth=1 https://github.com/tj/n
cd n
sudo make install
Run Code Online (Sandbox Code Playgroud)

然后您可以安装最新的稳定版本的节点,如下所示:

n stable
Run Code Online (Sandbox Code Playgroud)


hex*_*ide 12

ñ模块是为创造便利.

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

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

  • 当然你是对的,只需键入`n 0.10.20`然后你就完成了,但为什么不用n进行初始安装呢?这样,第一次安装感觉"特别".例如:是否保证n使用与Node.js安装程序相同的文件夹? (2认同)
  • 我不确定初始安装,但对于大多数情况,`n prev`只会恢复以前的版本.**编辑:**当您第一次添加新版本时,它似乎也将初始安装保存到`/ usr/local/n/versions/.prev`,就像在任何安装中一样.因此`n prev`也可用于恢复初始安装. (2认同)