Node.js是基于Chrome的V8引擎构建的跨平台JavaScript运行时环境,旨在在服务器端运行JavaScript代码。
它通常用于构建后端应用程序,但作为全栈和前端流行解决方案。npm是Node.js默认的包管理器,也是世界上最大的软件库。
在本教程中,我们将探讨在Raspberry Pi安装Node.js和npm的三种不同方式。
从标准Raspberry Pi仓库安装Node.js。 这是在Raspberry Pi安装Node.js和npm的最简单方法,对于大多数用例来说应该足够了。 Debian 10存储库中包含的版本为12.22.9
。
从NodeSource仓库安装Node.js。如果要安装与标准Raspberry Pi仓库不提供之外的Node.js版本,请使用此仓库。当前NodeSource支持Node.js v18.x
,v16.x
,v14.x
。
使用nvm
Node版本管理器安装Node.js。nvm
允许您在同一台计算机上安装多个Node.js版本。如果您是Node.js开发者,那么这是安装Node.js的首选方式。
选择适合您的环境的安装方法。 如果不确定要安装哪个Node.js版本,请查阅要部署的应用程序的文档。
Apt 安装Node.js和npm
在撰写本文时,Raspberry Pi软件源包含的Node.js版本是12.22.9
,它是先前的TLS版本。
使用apt
安装nodejs时,还会安装许多安装其它的依赖软件,包括安装编译npm包中带c/c++源码构建工具。例如gcc和g++编译和常用的头文件。
安装非常简单。使用具有sudo权限的用户,运行以下apt
命令更新软件包索引然后安装Node.js和npm。最后打印Node.JS的版本,验证Node.JS的安装是否成功。
sudo apt update
sudo apt install nodejs build-essential
nodejs --version
NodeSource 安装Node.js和npm
NodeSource是一家致力于提供企业级Node.js支持的公司。它维护一个包含多个Node.js版本的APT仓库。如果您的应用程序需要特定版本的Node.js,请使用此存仓库。
在撰写本文时,Node.JS的LTS版本是16.x,我们将安装Node.js版本16.x。
要启用此仓库你需要将NodeSource仓库的签名密钥添加到您的系统,创建apt储存库文件,并刷新apt缓存。
除了Node.JS和NPM之外你还需要安装c/c++开发工具,让你可以编译带c/c++源码的npm包。
如果您需要另一个Node.js版本,比如18.x
,将setup_16.x
更改为setup_18.x
。一旦启用NodeSource存储库,就可以安装Node.js和npm。
现在我们已经将这些过程整合一个命令中,你可直接运行以下使用HereDoc和cat命令整合的脚本一键安装Node.JS和NPM。
在运行以下命令时请确保你使用具有sudo权限的用户,安装完成后将打印其版本来验证Node.js和npm是否已成功安装。
值得一提的是你可能会注意下面的脚本包括两个APT删除软件包的命令,这是用于删除从Raspberry Pi默认仓库安装的nodejs,因为它会和从Nodesource安装的Node.JS存在冲突。
cat <<"EOF" | bash
sudo apt purge nodejs
sudo apt autoremove
sudo apt update
sudo apt install -y curl
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt install nodejs build-essential -y
node --version
corepack enable npm
corepack enable yarn
npm --version
yarn --version
EOF
v16.16.0
7.20.1
NVM 安装Node.js和npm
NVM全称Node.js版本管理器,它是一个bash脚本,可让您基于用户管理多个Node.JS版本。借助NVM,您可以安装,卸载,测试任何Node.js版本。
请勿使用sudo
权限安装nvm,因为它将为root用户安装nvm
。该脚本会将nvm项目的仓库从Github克隆到~/.nvm
目录。
当从GitHub仓库克隆到家目录后,nvm将会提示您关闭然后重新打开终端。或者将nvm
命令添加到当前会话PATH环境变量中。
现在我们已经将这些过程整合一个命令中,你可直接运行以下使用HereDoc和cat命令整合的脚本一键安装NVM。
cat <<"EOF" | bash
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
export PATH=$PATH:$HOME/.nvm/nvm.sh
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && . "$NVM_DIR/bash_completion" # This loads nvm bash_completion
nvm --help
EOF
当安装完成后,你可使用nvm list-remote
获取可以用nvm
安装的Node.js版本列表,命令nvm install node
将会安装Node.js的最新版本。
当完成安装Node.JS后,你需要运行命令corepack enable npm
安装npm,命令corepack enable yarn
将会安装yarn。
每当一个版本的Node.JS被安装后,nvm将会切换到刚安装的版本,你通过命令node --version
打印Node.js版本进行安装验证。
nvm install --lts
将会安装Node.JS LTS版本,并且是最后发行的LTS版本。nvm ls
命令列出已安装的Node.js版本。
sudo apt install build-essential
nvm list-remote
nvm install node #latest
nvm install --lts #LTS
node --version
corepack enable npm
corepack enable yarn
npm --version
yarn --version
nvm ls
带有右箭头的条目是当前Shell会话中使用的Node.js版本,默认版本是打开新的shell会话时将激活的版本。
如果要更改当前激活的版本,请使用nvm use
命令后面跟版本号,例如命令nvm use 16.16.0
将会切换到Node.JS的16.16.0
版本。
要更改默认的Node.js版本,请使用nvm alias default
命令后面跟版本号,例如命令nvm nvm alias default 12.16.3
将会切换到Node.JS的12.16.3
版本,并设置为默认。
结论
我们向您展示了三种在Raspberry Pi安装Node.js和npm的方法。您选择的方法取决于您的要求和偏好。
尽管从Raspberry Pi或NodeSource存储库安装打包版本更加容易,但是nvm方法为您提供了更大的灵活性,可以基于用户添加和删除不同的Node.js版本。
如有任何疑问,请随时。
