[英]Install Node.js to install n to install Node.js?
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
我感覺到你的痛苦。 安裝Node.js然后安裝n
然后管理Node.js安裝確實是一個奇怪的設置。
能夠首先自己安裝n
確實很棒。
我已經創建了一個項目來支持直接從GitHub安裝n
; 超出了唯一的先決條件n
本身需要的是git
。
請注意,您必須先刪除任何預先存在的n
/ Node.js版本。
默認情況下,目標目錄~/n
必須不存在或為空。
對於bash
, ksh
和zsh
,相關的shell初始化文件(例如, ~/.bashrc
)會自動修改以定義環境變量N_PREFIX
並將$N_PREFIX/bin
附加到$PATH
; 對於其他shell,這必須手動完成。
除了直接從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 Node.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以便輕松切換?
n建議使用npm來安裝它,因為n是一個模塊。 也就是說, npm是安裝它的最簡單方法。 節點模塊具有在全局安裝時能夠在shell中運行的功能,因此該功能用於使交換節點版本更容易。
您也可以從Node.JS單獨安裝npm
; 例如:在沒有Node.JS的系統上:
git clone https://github.com/npm/npm
cd npm
./configure
make
參考: NPM GitHub項目
我有同樣的問題,但看到了光明。 'n'是一個方便的工具,可以很容易地測試不同版本的節點。 在Linux上工作得很好,但無論我如何嘗試在OS X上安裝它(git clone,然后是npm install或者使用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 最新
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.