Mac前端装机必备之-n 模块管理多个版本的node.js
安装
由于您可能已经拥有了node,所以最简单的安装方法n是通过npm:
sudo npm install -g n
安装后,将版本n缓存在环境变量指定的目录的node子目录n/versions中N_PREFIX,默认为/usr/local; 而主动 node版本直接安装在N_PREFIX。
为了避免需要sudo的n和npm全球的安装,建议您或者使用安装到你的主目录N_PREFIX,或采取系统目录的所有权:
# make cache folder (if missing) and take ownership sudo mkdir -p /usr/local/n sudo chown -R $(whoami) /usr/local/n # take ownership of node install destination folders sudo chown -R $(whoami) /usr/local/bin /usr/local/lib /usr/local/include /usr/local/share
如果npm尚不可用,一种引导安装的方法:
curl -L https://raw.githubusercontent.com/tj/n/master/bin/n -o n bash n lts # Now node and npm are available
或者,您可以克隆此存储库并
make install
安装n到bin/n环境变量中指定的目录$PREFIX,默认为/usr/local(请注意,您可能需要使用sudo)。要n在自定义位置(例如$CUSTOM_LOCATION/bin/n)安装,请运行PREFIX=$CUSTOM_LOCATION make install。
第三方安装程序
brew install n
在Linux和macOS上,n-install允许直接从GitHub安装;例如:
curl -L https://git.io/n-install | bash
正安装多组都PREFIX和N_PREFIX来$HOME/n,安装n到$HOME/n/bin,修改支持炮弹的初始化文件导出N_PREFIX,并添加$HOME/n/bin到PATH,并安装最新的LTS node版本。
因此,它n本身及其node管理的所有版本都托管在一个可选的可配置目录中,您以后可以使用随附的n-uninstall脚本将其删除。n-update将n自身更新为最新版本。有关更多详细信息,请参见n-install存储库。
安装节点版本
只需执行n <version>以下载并安装的版本node。如果<version>已经下载,n将从其缓存安装。
n 10.16.0
n lts
n自行执行以查看下载的版本,并安装所选的版本。
$ n node/4.9.1 ο node/8.11.3 node/10.15.0 Use up/down arrow keys to select a version, return key to install, d to delete, q to quit
(您也可以使用j和k在不使用箭头的情况下向上或向下导航。)
如果活动节点的版本在安装后没有更改,请尝试打开新的外壳,以防发现版本过旧。
指定节点版本
有多种方法可以指定n命令的目标节点版本。大多数命令使用最新的匹配版本,并 n ls-remote列出多个匹配版本。
数字版本号可以是完整或不完整的,并带有可选的前导v。
4.9.18:8.xy版本v6.1:6.1.x版本
有两个特别有用的版本的标签:
lts:最新的长期支持正式发布latest,current:最新正式发布
第一行有一个标签,用于从文件中读取目标版本:
auto:从.n-node-version文件读取版本
支持发布流:
argon,boron,carbon:代号为LTS版本流
最后一种形式是使用远程下载文件夹的名称指定其他可用的发行版,还可以选择后面跟随完整或不完整的版本。
chakracore-release/latestnightlytest/v11.0.0-test20180528rc/10
删除版本
删除一些缓存的版本:
n rm 0.9.4 v0.10.0
除去当前版本以外的所有缓存版本:
n prune
删除已安装的节点和npm(不影响缓存的版本)。这对于恢复到节点的系统版本(如果位于不同的位置),或者如果您不再希望使用节点和npm,或者正在切换到其他管理它们的方式很有用。
n uninstall
使用下载的节点版本而不重新安装
有三个命令可直接使用您下载的版本node,而无需重新安装。
您可以显示下载版本的路径:
$ n which 6.14.3 /usr/local/n/versions/6.14.3/bin/node
或node使用以下n run命令运行下载的版本:
n run 8.11.3 --debug some.js
或执行命令和PATH修改,以便node和npm将从下载的node版本。(注意:这npm将与另一个空的全局node_modules目录一起使用,您不应以这种方式安装全局模块。)
n exec 10 my-script --fast test
保留npm
一个node安装通常包括npm为好,但你可能希望保留的更新npm,并npx让他们出的安装使用--preserve(需要rsync的):
$ npm install -g npm@latest ... $ npm --version 6.13.7 $ n -p 8 installed : v8.17.0 $ npm --version 6.13.7
您可以通过设置N_PRESERVE_NPM为非空字符串来将其设置为默认值。
export N_PRESERVE_NPM=1
无论环境变量如何,您都可以明确获得所需的行为:
n --preserve nightly
n --no-preserve latest
杂
可以从下载命令行帮助n --help。
列出可下载的匹配远程版本:
n ls-remote lts n ls-remote latest n lsr 10 n --all lsr
列出缓存中的下载版本:
n ls
显示诊断以帮助解决问题:
n doctor
自订来源
如果您想使用与默认https://nodejs.org/dist/具有相同布局的其他节点镜像,则可以定义N_NODE_MIRROR。最常见的例子是中国的用户可以定义:
export N_NODE_MIRROR=https://npm.taobao.org/mirrors/node
还有N_NODE_DOWNLOAD_MIRROR一个与默认https://nodejs.org/download具有相同布局的其他镜像
定制架构
默认情况下,n选择与您的系统体系结构匹配的二进制文件,例如,n将为64位系统下载64位二进制文件。您可以使用-a或--arch选项覆盖它。
下载并使用最新的32位版本的node:
n --arch x86 latest
可选环境变量
该n命令/usr/local默认下载并安装到,但是您可以通过定义覆盖此位置N_PREFIX。要更改位置$HOME/.n,请在外壳初始化文件中添加以下内容:
export N_PREFIX=$HOME/.n export PATH=$N_PREFIX/bin:$PATH
n如果系统上的tar很可能支持xz解压缩,则默认使用xz压缩节点tarball进行下载。您可以通过将环境变量设置为零或非零来覆盖自动选择:
export N_USE_XZ=0 # to disable
export N_USE_XZ=1 # to enable
无论环境变量如何,您都可以明确获得所需的行为:
n install --use-xz nightly
n install --no-use-xz latest
简单来说:
N_NODE_MIRROR:请参阅自定义来源N_NODE_DOWNLOAD_MIRROR:请参阅自定义来源- 支持NO_COLOR和CLICOLOR = 0以控制ANSI颜色代码的使用
N_MAX_REMOTE_MATCHES更改默认的ls-remote最大20个匹配版本N_PRESERVE_NPM:请参阅保留npm
怎么运行的
n下载预编译的node软件包并安装到单个前缀(例如/usr/local)。这将覆盖以前的版本。该bin位置的文件夹应位于您的文件夹中PATH(例如/usr/local/bin)。
下载内容保存在缓存文件夹中,以用于重新安装。也可以使用n which和n run和进行有限的下载n exec。
全局npm软件包不会被安装更改npm,只是它本身是node安装的一部分。

浙公网安备 33010602011771号