小糯 (Xiaonuo) b00731efe2 feat(onboard): 新增 01-nvm-node,编号顺延,更新交叉引用和自检脚本
- 新增 01-nvm-node.md: nvm 安装、Node.js LTS 管理、全局包安装
- 原 01-09 顺延为 02-10
- 更新 SKILL.md checklist 表格
- 更新各子文档标题编号和前置引用
- self-check.sh: 加入 nvm/node 检查项,补充邮箱检查

[小糯]
2026-04-23 17:19:31 +08:00

97 lines
2.1 KiB
Markdown

# 01. Node.js & nvm
## 检查
```bash
command -v nvm || (export NVM_DIR="$HOME/.nvm" && [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" && nvm --version)
node --version
which node # 应该在 ~/.nvm/ 下,不是 /usr/bin/node
```
✅ 达标:nvm 已安装,node 版本 >= v24 (LTS),由 nvm 管理(路径在 `~/.nvm/versions/` 下)
## 安装
### 1. 安装 nvm
```bash
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
```
安装完毕后加载 nvm:
```bash
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
```
### 2. 写入 .profile
确保每次登录自动加载 nvm:
```bash
cat >> ~/.profile << 'EOF'
# nvm
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
EOF
```
### 3. 安装 Node.js LTS
```bash
nvm install --lts
nvm alias default lts/*
```
### 4. 清理旧的系统 Node(如果有)
如果之前通过 apt/nodesource 装过系统级 Node,建议卸载避免冲突:
```bash
# 检查是否有系统 Node
dpkg -l | grep nodejs
# 如果有,卸载
sudo apt remove -y nodejs
sudo rm -f /etc/apt/sources.list.d/nodesource.list /etc/apt/keyrings/nodesource.gpg
```
### 5. 处理 .npmrc 冲突
如果旧的 .npmrc 里有 `prefix=` 设置,会和 nvm 冲突,需要移除:
```bash
grep prefix ~/.npmrc 2>/dev/null && mv ~/.npmrc ~/.npmrc.bak
```
### 6. 创建系统级符号链接(可选)
某些非 shell 工具(如 Hermes 浏览器引擎)可能找不到 nvm 管理的 node,创建符号链接解决:
```bash
sudo ln -sf $(which node) /usr/local/bin/node
```
⚠️ 注意:切换 node 版本后需要重新执行此命令更新符号链接。
### 7. 安装全局 npm 包
切换 node 版本后全局包需要重装:
```bash
npm i -g @shazhou/cfg @shazhou/hermes-harness @nocoo/pew @oc-forge/secret
```
## 验证
```bash
nvm --version # 应显示 0.40.x
node --version # 应显示 v24.x.x
which node # 应在 ~/.nvm/versions/ 下
npm --version # 应显示 11.x
cfg env > /dev/null && echo "cfg ✓"
pew --version && echo "pew ✓"
```