介紹
Node.js是用於伺服器端編程的JavaScript運行時。它允許開發人員使用JavaScript創建可擴展的後端功能,這是許多人在基於瀏覽器的Web開發中已經熟悉的語言。
在本指南中,您將檢視三種在Rocky Linux 9伺服器上安裝Node.js的不同方法:
- 使用
dnf
從Rocky的默認軟件庫安裝nodejs
包 - 使用
dnf
與Nodesource軟件庫安裝nodejs
包的特定版本 - 安裝Node版本管理器
nvm
,並使用它安裝和管理多個Node.js版本
對於許多用戶來說,使用默認的軟件來源和dnf
即可滿足需求。如果您需要特定的新版(或舊版)Node,應使用Nodesource存儲庫。如果您正在積極開發Node應用程序並需要經常切換node
版本,請選擇使用nvm
的方法。
先決條件
本指南假設您正在使用Rocky Linux 9。在開始之前,您應該在系統上設置一個非root使用者帳戶,並具有sudo
權限。您可以通過按照Rocky Linux 9初始伺服器設置教程來學習如何執行此操作。
選項1 — 通過默認存儲庫使用DNF安裝Node.js
Rocky Linux 9的默認存儲庫中包含Node.js的一個版本,可用於在多個系統上提供一致的使用體驗。在撰寫本文時,存儲庫中的版本為16.14.0。這可能不是最新版本,但應該是穩定的,足以快速進行語言實驗。
要獲取此版本,您可以使用dnf
套件管理器:
- sudo dnf install nodejs -y
通過查詢node
的版本號來確認安裝是否成功:
- node -v
Outputv16.14.0
如果存儲庫中的套件符合您的需求,那麼這就是設置Node.js所需做的一切。Rocky的默認存儲庫中的Node.js套件還帶有npm
,這是Node.js的套件管理器。這將允許您安裝模塊和套件以供Node.js使用。
在此時,您已成功安裝 Node.js 和使用 dnf 及默認的 Rocky 軟體庫安裝 npm。接下來的部分將向您展示如何使用替代庫安裝不同版本的 Node.js。
選項2 — 使用 NodeSource 庫使用 DNF 安裝 Node.js
要安裝不同版本的 Node.js,您可以使用 NodeSource 庫。NodeSource 是一個第三方庫,擁有比官方 Rocky 庫更多版本的 Node.js。截至撰寫本文時,Node.js v14、v16 和 v18 都是可用的。
首先,您需要在本地配置該庫,以便訪問其套件。從您的主目錄使用 curl
检索首選版本的安裝腳本,確保替換 18.x
為您首選的版本字符串(如果不同的話)。
- cd ~
- curl -sL https://rpm.nodesource.com/setup_18.x -o nodesource_setup.sh
有關可用版本的更多信息,請參閱NodeSource 文檔。
您可以使用 vi
(或首選的文本編輯器)檢查已下載腳本的內容:
- vi nodesource_setup.sh
運行第三方 shell 腳本並非始終被視為最佳做法,但在這種情況下,NodeSource 實現了他們自己的邏輯,以確保根據發行版和版本要求傳遞正確的命令給您的套件管理器。如果您確信該腳本是安全的,請退出編輯器,然後使用 sudo
執行該腳本:
- sudo bash nodesource_setup.sh
Output…
您的系統似乎已經從其他來源安裝了 Node.js。
Run `sudo yum remove -y nodejs npm` to remove these first.
運行 `sudo yum install -y nodejs` 以安裝 Node.js 18.x 和 npm。
如果 yum 不可用,則可以運行 dnf:
sudo dnf install -y nodejs
您可能還需要開發工具來構建本機附加組件:
sudo yum install gcc-c++ make
要安裝 Yarn 套件管理器,請運行:
curl -sL https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
sudo yum install yarn
該存儲庫將被添加到您的配置中,您的本地套件緩存將自動更新。您現在可以像在上一節中那樣安裝 Node.js 套件。在安裝新版本之前,最好完全刪除舊版本的 Node.js 套件,方法是使用 sudo dnf remove nodejs npm
。這不會對您的配置產生任何影響,只會影響已安裝的版本。第三方存儲庫並不總是以直接升級庫存套件的方式打包他們的軟件,如果遇到問題,您可以隨時嘗試恢復到初始狀態。
- sudo dnf remove nodejs npm -y
-
- ```command
- sudo dnf install nodejs -y
通過使用 -v
版本標誌運行 node
來驗證是否已安裝新版本:
- node -v
Outputv18.9.0
NodeSource 的 nodejs
套件包含了 node
二進制文件和 npm
,因此您不需要單獨安裝 npm
。
在這一點上,您已成功使用 dnf 和 NodeSource 存儲庫安裝了 Node.js 和 npm。下一部分將展示如何使用 Node 版本管理器安裝和管理多個版本的 Node.js。
選擇 3 — 使用 Node 版本管理器安裝 Node
另一種安裝 Node.js 的方式特別靈活,即使用 nvm,即 Node 版本管理器。這個軟件可以讓您同時安裝和維護許多不同的獨立版本的 Node.js 和它們相應的 Node 包。
要在您的 Rocky Linux 9 機器上安裝 NVM,請訪問該項目的 GitHub 頁面。從主頁面上顯示的 README 文件中複製 curl 命令。這將為您獲得最新版本的安裝腳本。
在將命令通過管道傳遞給 bash 之前,審核腳本始終是一個好主意,以確保它沒有執行您不同意的任何操作。您可以通過刪除 curl 命令末尾的 | bash 部分來執行這個操作:
- curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh
請查看並確保您對所做的更改感到滿意。當您滿意時,再次運行命令,並在末尾添加| bash
。您使用的URL將取決於nvm的最新版本,但就目前而言,可以通過輸入以下命令來下載並執行腳本:
- curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
這將把nvm
腳本安裝到您的用戶帳戶中。要使用它,您必須首先來源化您的.bashrc
文件:
- source ~/.bashrc
現在,您可以詢問NVM可用的Node版本有哪些:
- nvm list-remote
Output. . .
v16.13.1 (LTS: Gallium)
v16.13.2 (LTS: Gallium)
v16.14.0 (LTS: Gallium)
v16.14.1 (LTS: Gallium)
v16.14.2 (LTS: Gallium)
v16.15.0 (LTS: Gallium)
v16.15.1 (LTS: Gallium)
v16.16.0 (LTS: Gallium)
v16.17.0 (Latest LTS: Gallium)
v17.0.0
v17.0.1
v17.1.0
v17.2.0
…
這是一個非常長的列表!您可以通過輸入您看到的任何發行版本來安裝Node的版本。例如,要獲取版本v16.16.0(一個LTS版本),您可以輸入:
- nvm install v16.16.0
您可以通過輸入以下命令查看您安裝的不同版本:
nvm list
Output-> v16.16.0
system
default -> v16.16.0
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v16.16.0) (default)
stable -> 16.16 (-> v16.16.0) (default)
lts/* -> lts/gallium (-> N/A)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.24.1 (-> N/A)
lts/erbium -> v12.22.12 (-> N/A)
lts/fermium -> v14.20.0 (-> N/A)
lts/gallium -> v16.17.0 (-> N/A)
這顯示了當前活動版本在第一行(-> v16.16.0
),後面是一些命名別名和這些別名指向的版本。
注意:如果您還通過dnf
安裝了Node.js的版本,您可能會在這裡看到一個system
條目。您始終可以使用nvm use system
來激活系統安裝的Node版本。
您也可以根據這些別名安裝發行版本。例如,要安裝fermium
,運行以下命令:
- nvm install lts/gallium
OutputDownloading and installing node v16.17.0...
Downloading https://nodejs.org/dist/v16.17.0/node-v16.17.0-linux-x64.tar.xz...
################################################################################# 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v16.17.0 (npm v8.15.0)
您可以通過與其他部分相同的技術來驗證安裝是否成功,方法是輸入:
- node -v
Outputv16.17.0
我們的機器上安裝了正確版本的Node,正如我們所期望的那樣。一個兼容的npm
版本也可用。
結論
在您的Rocky Linux伺服器上運行Node.js有很多方法。您的情況將決定上述哪種方法最適合您的需求。儘管使用Rocky存儲庫中的打包版本是最簡單的方法,但使用nvm
或NodeSource存儲庫提供了額外的靈活性。
有關使用Node.js編程的更多信息,請參閱我們的教程系列如何編碼Node.js。
Source:
https://www.digitalocean.com/community/tutorials/how-to-install-node-js-on-rocky-linux-9