前端开发环境之macOS

前端开发离不开 Node,就像西方不能失去耶路撒冷,首先搞定多版本 Node。

nvm

github 仓库链接:https://github.com/nvm-sh/nvm

nvm 是 node.js的版本管理器,设计为按用户安装并按 shell 调用。nvm适用于任何兼容 POSIX 的 shell(sh、dash、ksh、zsh、bash),特别是在以下平台上:unix、macOS 和windows WSL

macOS 安装

检查X-Code是否安装

1
xcode-select --version

如果没看到版本信息,则需安装

1
xcode-select --install

然后我们可以使用

1
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

从远程下载 install.sh 脚本并执行。注意这个版本年数字 v0.39.7 会随着项目开发而变化。随时通过官方最新安装命令来检查最新安装版本是有好处的。

如果执行进度缓慢,切换到科学上网后执行脚本。

该脚本将 nvm 存储库克隆到~/.nvm,并尝试将下面代码片段中的源行添加到正确的配置文件(~/.bash_profile~/.zshrc~/.profile~/.bashrc)。

1
2
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

补充笔记

  • 如果环境变量$XDG_CONFIG_HOME存在,它将把nvm文件放置在那里。
  • 您可以--no-use在上述脚本的末尾添加 (… nvm.sh --no-use) 来推迟使用,nvm直到您手动使用use它。
  • NVM_SOURCE您可以使用、NVM_DIRPROFILE和变量自定义安装源、目录、配置文件和版本NODE_VERSION。例如:curl ... | NVM_DIR="path/to/nvm"。确保NVM_DIR不包含尾部斜杠。
  • 安装程序可以使用gitcurl、 或wget进行下载nvm(以可用者为准)。
  • 您可以通过在运行脚本之前进行设置来指示安装程序不要编辑您的 shell 配置(例如,如果您已经通过zsh nvm 插件获得完成)。下面是一个用于执行此操作的单行命令示例:PROFILE=/dev/null``install.sh``PROFILE=/dev/null bash -c 'curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash'

macOS 上的故障排除

从 OS X 10.9 开始,/usr/bin/gitXcode 命令行工具已经预设了,这意味着我们无法正确检测 Git 是否安装。在运行安装脚本之前,您需要手动安装 Xcode 命令行工具,否则会失败。 (参见#1782

如果运行安装脚本后出现nvm: command not found此问题,则可能是以下原因之一:

  • 从 macOS 10.15 开始,默认 shell 是zsh,nvm 将寻找.zshrc更新,默认情况下不安装。创建一个touch ~/.zshrc并再次运行安装脚本。
  • 如果您使用 bash(以前的默认 shell),您的系统可能没有设置该命令的文件.bash_profile。使用或.bashrc创建其中之一并再次运行安装脚本。然后,运行或来获取命令。touch ~/.bash_profile``touch ~/.bashrc``. ~/.bash_profile``. ~/.bashrc``nvm
  • 您以前使用过bash,但您已经zsh安装了。您需要手动将这些行添加到~/.zshrc并运行. ~/.zshrc
  • 您可能需要重新启动终端实例或运行. ~/.nvm/nvm.sh.重新启动终端/打开新选项卡/窗口,或运行 source 命令将加载命令和新配置。
  • 如果上述方法没有帮助,您可能需要重新启动终端实例。尝试在终端中打开一个新选项卡/窗口并重试。

如果上述方法不能解决问题,您可以尝试以下操作:

  • 如果您使用 bash,则可能是您的.bash_profile(或~/.profile) 没有~/.bashrc正确获取您的源。您可以通过添加source ~/<your_profile_file>或执行下面的下一步来解决此问题。
  • 尝试将安装部分中的代码段~/.bash_profile添加到您常用的配置文件( 、~/.zshrc~/.profile或)中,该代码段会找到正确的 nvm 目录并将 nvm 加载~/.bashrc
  • 有关此问题和可能的解决方法的更多信息,请参阅此处

注意
对于配备 Apple Silicon 芯片的 macOS,node 从 v16.0.0 开始提供arm64 arch Darwin 软件包,并从 v14.17.0 开始提供从源代码编译时的实验性arm64支持。如果您在使用安装节点时遇到问题nvm,您可能需要更新到这些版本之一或更高版本。

验证安装

可以执行以下操作:

1
nvm -v

nvm如果安装成功,应该输出。

git 安装

如果您已git安装(需要 git v1.7.10+):

  1. 将此存储库克隆到您的用户配置文件的根目录中
    • cd ~/那么从任何地方git clone https://github.com/nvm-sh/nvm.git .nvm
  2. cd ~/.nvm并查看最新版本git checkout v0.39.7
  3. nvm通过从 shell 获取它来激活:. ./nvm.sh

!!!macOS、git安装后,别忘了配置文件:

现在将这些行添加到您的~/.bash_profile~/.zshrc~/.profile~/.bashrc文件中,以便在登录时自动获取它:(您可能需要添加到多个上述文件中)

1
2
3
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

使其配置文件生效:

1
2
source ~/.bash_profile
source ~/.zshrc

用法

1
2
3
4
5
6
7
8
# 列出可用版本ls-remote
nvm ls-remote
# 要安装特定版本的节点
nvm install 14.19.0
# 查看安装的版本
nvm ls
# 设置默认版本
nvm alias default 14.19.0

其他

类似 nvm 的 Node 版本管理工具,还有 fnmvolta

相关链接

[1] nvm install node fails to install on macOS Big Sur M1 Chip