Mac前端裝機必備之-n 模塊管理多個版本的node.js


安裝

由於您可能已經擁有了node,所以最簡單的安裝方法n是通過npm

sudo npm install -g n

安裝后,將版本n緩存在環境變量指定的目錄的node子目錄n/versionsN_PREFIX,默認為/usr/local主動 node版本直接安裝在N_PREFIX

為了避免需要sudonnpm全球的安裝,建議您或者使用安裝到你的主目錄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

 

安裝nbin/n環境變量中指定的目錄$PREFIX,默認為/usr/local(請注意,您可能需要使用sudo)。n在自定義位置(例如$CUSTOM_LOCATION/bin/n)安裝,請運行PREFIX=$CUSTOM_LOCATION make install

第三方安裝程序

在具有Homebrew的 macOS上,您可以安裝n公式

brew install n

 

在Linux和macOS上,n-install允許直接從GitHub安裝;例如:

curl -L https://git.io/n-install | bash

 

正安裝多組都PREFIXN_PREFIX$HOME/n,安裝n$HOME/n/bin,修改支持炮彈的初始化文件導出N_PREFIX,並添加$HOME/n/binPATH,並安裝最新的LTS node版本。

因此,它n本身及其node管理的所有版本都托管在一個可選的可配置目錄中,您以后可以使用隨附的n-uninstall腳本將其刪除n-updaten自身更新為最新版本。有關更多詳細信息,請參見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

 

(您也可以使用jk在不使用箭頭的情況下向上或向下導航。)

如果活動節點的版本在安裝后沒有更改,請嘗試打開新的外殼,以防發現版本過舊。

指定節點版本

有多種方法可以指定n命令的目標節點版本大多數命令使用最新的匹配版本,並 n ls-remote列出多個匹配版本。

數字版本號可以是完整或不完整的,並帶有可選的前導v

  • 4.9.1
  • 8:8.xy版本
  • v6.1:6.1.x版本

有兩個特別有用的版本的標簽:

  • lts:最新的長期支持正式發布
  • latestcurrent:最新正式發布

第一行有一個標簽,用於從文件中讀取目標版本:

  • auto:從.n-node-version文件讀取版本

支持發布流:

  • argonboroncarbon:代號為LTS版本流

最后一種形式是使用遠程下載文件夾的名稱指定其他可用的發行版,還可以選擇后面跟隨完整或不完整的版本。

  • chakracore-release/latest
  • nightly
  • test/v11.0.0-test20180528
  • rc/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修改,以便nodenpm將從下載的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軟件包並安裝到單個前綴(例如/usr/local)。這將覆蓋以前的版本。bin位置文件夾應位於您文件夾中PATH(例如/usr/local/bin)。

下載內容保存在緩存文件夾中,以用於重新安裝。也可以使用n whichn run進行有限的下載n exec

全局npm軟件包不會被安裝更改npm,只是它本身是node安裝的一部分


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM