我在理解n的使用时遇到问题,基本上,很明显它是Node的版本管理器.js例如nvm。
但与 nvm 相比,nvm 基本上是一个 shell 脚本,根据文档,我们鼓励您使用 npm 来安装 n:
$ npm install -g n
我没有得到的是:为了手头有npm
,你需要安装 Node.js。为什么我要手动安装 Node.js 以使用 npm
然后能够使用 n 安装 Node.js?
换句话说,我的问题:为什么n建议使用npm
安装,如果它的主要目的是安装Node.js,其中包括npm?
tl; dr
# 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
我感受到你的痛苦。安装 Node.js然后安装 n
然后管理 Node.js 安装确实是一个奇怪的设置。
如果能够先自行安装n
确实很棒。
我创建了一个项目来支持直接从 GitHub 安装n
;超出n
本身需求的唯一先决条件是git
。
请注意,您必须首先删除任何预先存在的n
/节点.js版本。
默认情况下~/n
目标目录必须尚不存在或为空。
对于bash
、ksh
和zsh
,相关的 shell 初始化文件(例如 ~/.bashrc
)会自动修改以定义环境变量N_PREFIX
并将$N_PREFIX/bin
附加到$PATH
;对于其他外壳,这必须手动完成。
除了直接从 GitHub 安装n
外,它还安装用于更新n
( n-update
) 和卸载 ( n-uninstall
) 的帮助程序脚本。
以下是工作示例;有关详细信息,请参阅 n-install GitHub 存储库:
安装时出现确认提示,以确认安装到默认位置
$HOME/n
并安装最新的 LTS 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 latest 4.1
自动安装到默认位置,无需后续安装 Node.js 版本:
curl -L https://git.io/n-install | bash -s -- -y -
自动安装到自定义位置
~/util/n
,后续安装最新的 LTS 节点.js版本:curl -L https://git.io/n-install | N_PREFIX=~/util/n bash -s -- -y
如果你愿意,你可以从源代码安装 n:
cd /tmp
git clone --depth=1 https://github.com/tj/n
cd n
sudo make install
然后,您可以安装节点的最新稳定版本,如下所示:
n stable
n 模块是为了方便起见而创建的。
例如,如果您想将 Node.js 的版本从 v0.8.0 更新到 v0.10.20,您是否愿意下载一个包、提取和编译?或者您更愿意键入n 0.10.20
并立即安装它,同时仍然保留以前版本的 Node 以便于切换?
建议使用 npm 来安装它,因为 n 是一个模块。也就是说,npm 是最简单的安装方法。节点模块具有在全局安装时能够在 shell 中运行的功能,因此利用该功能使切换节点版本变得更加容易。
npm
与 Node.JS; 例如:在没有 Node 的系统上.JS:
git clone https://github.com/npm/npm
cd npm
./configure
make
参考:NPM GitHub 项目
n
自述文件现在有更长的部分涵盖了不同的安装方法。
像nvm
一样,n
是一个bash脚本。 如果您已经有 npm
,建议npm
作为安装n
的简单方法,然后您可以使用 n
更改 Node.js 版本。但是,对于首次安装 Node.js,还有很多其他方法。简而言之,没有特别的顺序...
您可以使用 curl 安装n
:
curl -L https://raw.githubusercontent.com/tj/n/master/bin/n -o n
或者克隆n
存储库并从那里安装:
make install
或使用 n-install:
curl -L https://git.io/n-install | bash
或自制:
brew install n
或 MacPorts:
port install n
(免责声明:我是n
的当前维护者。
我有同样的问题,但看到了光明。"n"是一个方便的工具,使测试不同版本的节点变得简单。在 Linux 上运行良好,但无论我如何尝试在 OS X 上安装它(git 克隆,然后是 npm 安装或使用 user456584 推荐的方法),当我运行它时,我总是得到相同的结果"错误:没有安装版本",即使它安装在
/usr/local/lib/node_modules/n
和
/usr/local/bin/n
令人沮丧,因为我发现这个工具在 Linux 上非常方便。
如果您像这样在$PATH变量中包含默认节点 bin,请执行以下操作
export PATH=/usr/local/Cellar/node/11.5.0/bin:$PATH
则 n 将无法激活其他节点版本。从路径中删除此导出,然后可以按 n 管理当前活动节点版本。
如果你正在使用n,那么你应该使用以下命令
bash$ sudo n 最新