node.js开发环境搭建
node.js开发环境搭建
前端主要使用javascript或typescript语言,前端项目主要使用node.js(提供运行环境)+npm(管理项目包依赖)进行项目构建,而node.js与npm版本关系有耦合,因此需要使用nvm工具统一管理node.js与npm的版本。
安装nvm
更多细节参考官方文档,本文以macos为例进行安装。
注意:官方文档中指出brew安装nvm的方式已经不再收到支持,因此最好按照文档的安装脚本进行nvm的安装
-
使用安装脚本下载
# 以下命令二选一 # curl方式 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash # wget方式 wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
-
在执行完脚本后,创建了
~/.nvm
目录用于保存nvm的代码库,并自动将以下环境变量添加至终端的配置文件中(~/.bash_profile
,~/.zshrc
,~/.profile
, or~/.bashrc
)。我的Mac中执行后自动加入至
*~/.zshrc*
中export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
-
可选: 更换国内镜像源
在终端配置文件新增以下环境变量
export NVM_NODEJS_ORG_MIRROR=http://npm.taobao.org/mirrors/node export NVM_IOJS_ORG_MIRROR=http://npm.taobao.org/mirrors/iojs
-
验证:执行
nvm -v
,如果安装正确的话应该会得到类似的输出❯ nvm -v 0.39.7
安装node.js+npm
安装
确定你需要安装的node.js的版本,nvm会自动安装配套的npm
注意:对于使用Apple Silicon芯片的Mac,node从v16.0.0开始提供arm64 arch Darwin包,从v14.17.0开始从源代码编译时提供实验性的arm64支持。如果您在使用 nvm 安装node时遇到问题,您可能需要更新到其中一个版本或更高版本。
以node.js v20.12.0为例
# 安装指定版本的node.js
nvm install 20.12.0
# 安装最新版的node.js
# nvm install latest
# 输出如下
❯ nvm install 20.12.0
Downloading and installing node v20.12.0...
Downloading http://npm.taobao.org/mirrors/node/v20.12.0/node-v20.12.0-darwin-arm64.tar.xz...
################################################################################################################## 100.0%################################################################################################################## 100.0%
Computing checksum with shasum -a 256
Checksums matched!
Now using node v20.12.0 (npm v10.5.0)
Creating default alias: default -> 20.12.0 (-> v20.12.0)
验证
执行node -v
,npm -v
,nvm list
可以验证安装是否成功
❯ node -v
v20.12.0
❯ npm -v
10.5.0
❯ nvm list
-> v20.12.0
default -> 20.12.0 (-> v20.12.0)
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v20.12.0) (default)
stable -> 20.12 (-> v20.12.0) (default)
lts/* -> lts/iron (-> v20.12.0)
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.21.3 (-> N/A)
lts/gallium -> v16.20.2 (-> N/A)
lts/hydrogen -> v18.20.0 (-> N/A)
lts/iron -> v20.12.0