Skip to content

node 版本控制器 ​

fnm / mac ​

sh
brew install fnm
sh
cat >> ~/.zshrc <<'EOF'

# fnm
export FNM_NODE_DIST_MIRROR="https://npmmirror.com/mirrors/node"
eval "$(fnm env --use-on-cd --shell zsh)"
EOF
sh
source ~/.zshrc

fnm install 24
fnm default 24
fnm use 24

fnm / ubuntu ​

准备依赖

sh
sudo apt update
sudo apt install -y curl unzip

安装

sh
curl -fsSL https://fnm.vercel.app/install | bash
sh
sudo apt update
sudo apt install -y curl unzip ca-certificates

mkdir -p ~/.local/share/fnm

curl -fL \
  https://github.com/Schniz/fnm/releases/latest/download/fnm-linux.zip \
  -o /tmp/fnm.zip

unzip -o /tmp/fnm.zip -d /tmp/fnm

install -m 0755 /tmp/fnm/fnm ~/.local/share/fnm/fnm

rm -rf /tmp/fnm /tmp/fnm.zip

配置环境

sh
cat >> ~/.bashrc <<'EOF'

# fnm
export PATH="$HOME/.local/share/fnm:$PATH"
export FNM_NODE_DIST_MIRROR="https://npmmirror.com/mirrors/node"
eval "$(fnm env --use-on-cd --shell bash)"
EOF
sh
source ~/.bashrc

镜像加速 ​

永久:

sh
cat >> ~/.bashrc <<'EOF'

# fnm Node.js 下载镜像
export FNM_NODE_DIST_MIRROR="https://mirrors.ustc.edu.cn/node/"
EOF

source ~/.bashrc

临时

FNM_NODE_DIST_MIRROR="https://mirrors.ustc.edu.cn/node/" fnm install 22

FNM_NODE_DIST_MIRROR="https://mirrors.cernet.edu.cn/nodejs-release/"

fnm / windows ​

$env:HTTP_PROXY="http://127.0.0.1:7897"
$env:HTTPS_PROXY="http://127.0.0.1:7897"

curl.exe -I https://github.com

使用 scoop

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression

scoop install fnm
sh
fnm install 24 --node-dist-mirror https://npmmirror.com/mirrors/node

fnm env --use-on-cd | Out-String | Invoke-Expression

fnm use 24

有 winget

sh
winget install Schniz.fnm

设置国内镜像 ​

永久

[Environment]::SetEnvironmentVariable(
    "FNM_NODE_DIST_MIRROR",
    "https://npmmirror.com/mirrors/node",
    "User"
)

单次

fnm install 24 --node-dist-mirror https://npmmirror.com/mirrors/node

手动安装 nvm ​

https://zhuanlan.zhihu.com/p/58466443

sh
cd ~/ ; git clone https://ghp.ci/https://github.com/creationix/nvm.git .nvm

cd ~/.nvm; git checkout v0.40.0; . nvm.sh

vim ~/.bashrc

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