介紹
Node.js 是一個用於通用程式設計的 JavaScript 平台,允許使用者快速構建網絡應用程式。通過在前端和後端都利用 JavaScript,Node.js 使開發更加一致和集成。
在本指南中,您將學習有關在 Ubuntu 18.04 服務器上安裝 Node.js 的三種不同方法。
先決條件
本指南假設您正在使用 Ubuntu 18.04。在開始之前,您應該在系統上設置一個非root使用者帳戶,並具有sudo
權限。您可以通過遵循 Ubuntu 18.04 的初始服務器設置教程來了解如何執行此操作。
使用 Apt 從默認存儲庫安裝 Node.js
Ubuntu 18.04 包含一個 Node.js 版本,可在其預設存儲庫中使用,以在多個系統上提供一致的使用體驗。截至撰寫本文時,存儲庫中的版本為 8.10.0。這可能不是最新版本,但應該是穩定的,足以快速進行語言實驗。
要獲取這個版本,您可以使用 apt
套件管理器。刷新本地套件索引:
現在安裝 Node.js:
通過查詢 node
的版本號來驗證您已成功安裝 Node.js:
Outputv8.10.0
如果存儲庫中的套件符合您的需求,這就是您設置 Node.js 所需的一切。在大多數情況下,您還需要安裝 npm
,這是 Node.js 的套件管理器。您可以使用 apt
安裝 npm
套件:
這將允許您安裝模塊和套件以供 Node.js 使用。
您現在已成功使用 apt
和默認的 Ubuntu 軟件存儲庫安裝了 Node.js 和 npm
。但是,您可能更喜歡使用不同版本的 Node.js、套件存檔或版本管理器。接下來的步驟將討論這些元素,以及更靈活和強大的安裝方法。
使用 NodeSource PPA 通過 Apt 安裝 Node.js
要安装更新的Node.js版本,您可以添加由NodeSource维护的PPA(个人软件包存档)。这将比官方的Ubuntu仓库具有更加最新的Node.js版本,并允许您在几个可用版本的平台之间进行选择。
首先,安装PPA以便访问其内容。从您的主目录开始,使用curl
检索您首选版本的安装脚本,确保将17.x
替换为您首选的版本字符串(如果不同):
您可以参考NodeSource文档以获取有关当前可用版本的更多信息。
如果愿意,您可以使用nano
(或您首选的文本编辑器)检查此脚本的内容:
一旦您确信该脚本可以安全运行,请退出文本编辑器。如果您使用nano
,可以按CTRL + X
退出。接下来,使用sudo
运行该脚本:
PPA将被添加到您的配置中,并且您的本地软件包缓存将自动更新。现在您可以像在前一节中那样安装Node.js软件包:
通过带有-v
标志运行node
来验证您是否已安装了新版本:
Outputv17.3.0
与默认的Ubuntu软件包仓库中的不同,这个nodejs
软件包包含了node
和npm
,因此您不需要单独安装npm
。
npm
使用位於您的主目錄中的配置文件來跟蹤更新。第一次運行 npm
時將會創建該文件。運行以下命令來驗證是否安裝了 npm
並創建配置文件:
Output8.3.0
為了讓一些需要從源代碼編譯的 npm
包正常工作(例如,需要編譯代碼的那些包),您需要安裝 build-essential
包:
現在您已經具備了使用 npm
包所需的編譯源代碼的必要工具。
在本節中,您已成功使用 apt
和 NodeSource PPA 安裝了 Node.js 和 npm
。接下來,您將使用 Node Version Manager 安裝和管理多個版本的 Node.js。
使用 Node Version Manager 安裝 Node
安裝 Node.js 的另一種方法是使用一個稱為 nvm
的工具,即 Node Version Manager(NVM)。與在操作系統級別工作不同,nvm
在您的主目錄中的獨立目錄級別上運作。這意味著您可以安裝多個獨立的 Node.js 版本而不影響整個系統。
使用 nvm
控制您的環境可以讓您訪問最新版本的 Node.js,並保留和管理以前的版本。然而,它與 apt
是不同的實用工具,您使用它管理的 Node.js 版本與您使用 apt
管理的版本是不同的。
要在您的 Ubuntu 18.04 機器上安裝 NVM,請訪問該項目的 GitHub 頁面。從主頁顯示的 README 文件中複製 curl
命令,以獲取安裝腳本的最新版本。
在將命令通過管道傳遞到 bash
之前,始終審核腳本以確保它不會執行任何您不同意的操作。您可以通過刪除 curl
命令末尾的 | bash
段來執行此操作:
審查輸出,確保您對它所做的更改感到滿意。一旦滿意,請使用附加到末尾的 | bash
重新運行相同的命令。您使用的 URL 將取決於 NVM 的最新版本,但就目前而言,可以通過運行以下命令來下載並執行該腳本:
這將將 nvm
腳本安裝到您的用戶帳戶。為了使用它,首先來源化 .bashrc
文件:
安裝了 nvm
後,您可以安裝隔離的 Node.js 版本。首先,詢問 nvm
有哪些 Node 版本可用:
Output...
v14.18.2 (Latest LTS: Fermium)
v15.0.0
v15.0.1
v15.1.0
v15.2.0
v15.2.1
v15.3.0
v15.4.0
v15.5.0
v15.5.1
v15.6.0
v15.7.0
v15.8.0
v15.9.0
v15.10.0
v15.11.0
v15.12.0
v15.13.0
v15.14.0
v16.0.0
v16.1.0
v16.2.0
v16.3.0
v16.4.0
v16.4.1
v16.4.2
v16.5.0
v16.6.0
v16.6.1
v16.6.2
v16.7.0
v16.8.0
v16.9.0
v16.9.1
v16.10.0
v16.11.0
v16.11.1
v16.12.0
v16.13.0 (LTS: Gallium)
v16.13.1 (Latest LTS: Gallium)
v17.0.0
v17.0.1
v17.1.0
v17.2.0
v17.3.0
這是一個非常長的列表,但您可以通過輸入所列的任何已發布版本來安裝 Node 的版本。例如,要獲得版本 v16.13.1,請運行以下命令:
OutputNow using node v16.13.1 (npm v8.1.2)
有时候 nvm
会切换到使用最近安装的版本。但是你可以告诉 nvm
使用你刚下载的版本(如果不同的话):
运行以下命令检查当前正在使用的版本:
Outputv16.13.1
如果安装了多个 Node 版本,你可以运行 ls
来获取它们的列表:
Output-> v16.13.1
system
default -> v16.13.1
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v16.13.1) (default)
stable -> 16.13 (-> v16.13.1) (default)
lts/* -> lts/gallium (-> v16.13.1)
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.8 (-> N/A)
lts/fermium -> v14.18.2 (-> N/A)
lts/gallium -> v16.13.1
你也可以将一个版本设置为默认:
Outputdefault -> 16.13.1 (-> v16.13.1)
这个版本将在新的会话启动时自动选择。你也可以通过别名引用它,如以下命令所示:
OutputNow using node v16.13.1 (npm v8.1.2)
每个 Node 版本都会跟踪其自己的包,并且有 npm
可用于管理这些包:
你还可以让 npm
将包安装到 Node.js 项目的 ./node_modules
目录中。使用以下语法安装 express
模块:
Outputadded 50 packages, and audited 51 packages in 4s
2 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
npm notice
npm notice New minor version of npm available! 8.1.2 -> 8.3.0
npm notice Changelog: https://github.com/npm/cli/releases/tag/v8.3.0
npm notice Run npm install -g [email protected] to update!
npm notice
如果你想要全局安装该模块,使其对使用相同版本的 Node.js 的其他项目可用,可以添加 -g
标志:
Outputadded 50 packages, and audited 51 packages in 1s
2 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
这将在以下位置安装该包:
全局安装模块将让你能够从命令行运行命令,但你需要将该包链接到你的本地环境中,以便从程序内部引用它:
通过运行以下命令,你可以了解有关 nvm
的可用选项的更多信息:
通过使用 Node 版本管理器 nvm
安装和管理各种 Node 版本,你已成功安装了 Node。
移除 Node.js
您可以使用 apt
或 nvm
來卸載 Node.js,取決於您想要針對的版本。要移除預設存儲庫版本,您將在系統級別使用 apt
。此命令將移除該套件並保留配置文件。這對於未來打算重新安裝該套件很有用:
如果您不想保留配置文件以供將來使用,那麼運行以下命令來卸載該套件並刪除與之關聯的配置文件:
sudo apt purge nodejs
最後,您可以移除與已刪除套件一起自動安裝的任何未使用的套件:
要卸載使用 nvm
啟用的 Node.js 版本,首先確定您想要移除的版本是否是當前活動版本:
如果您要定位的版本 不是 當前的活動版本,您可以運行:
OutputUninstalled node node_version
此命令將卸載所選的 Node.js 版本。
如果您要移除的版本是當前的活動版本,您必須先停用 nvm
以啟用您的更改:
現在,您可以使用先前使用的 uninstall
命令卸載當前版本。這將刪除與目標 Node.js 版本相關的所有文件,但不包括可用於重新安裝的快取文件。
結論
在您的Ubuntu 18.04伺服器上使用Node.js的方法有很多。您的情況將決定哪種方法最適合您的需求。儘管使用Ubuntu存儲庫中的打包版本是一種方法,但使用nvm
或NodeSource PPA提供了額外的靈活性。
有關使用Node.js編程的更多信息,請參考我們的教程系列如何在Node.js中編碼。
Source:
https://www.digitalocean.com/community/tutorials/how-to-install-node-js-on-ubuntu-18-04