簡體   English   中英

安裝Node.js 安裝n 安裝Node.js?

[英]Install Node.js to install n to install Node.js?

我在理解n的使用時遇到問題。 基本上,很明顯它是 Node.js 的版本管理器,例如nvm

但與 nvm 相比,它基本上是一個 shell 腳本,根據文檔,你被鼓勵使用 npm 來安裝n

$ npm install -g n

我不明白的是:為了手頭有npm ,你需要安裝 Node.js。 為什么我要手動安裝 Node.js 以使用npm然后才能使用 n 安裝 Node.js?

換句話說:為什么 n 建議使用npm安裝,如果它的主要目的是安裝包含 npm 的 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必須不存在或為空。
對於bashkshzsh ,相關的shell初始化文件(例如, ~/.bashrc )會自動修改以定義環境變量N_PREFIX並將$N_PREFIX/bin附加到$PATH ; 對於其他shell,這必須手動完成。

除了直接從GitHub安裝n之外,它還安裝了幫助腳本來更新nn-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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM