NodeJS and pnpm Installation - langningchen/miniapp GitHub Wiki

NodeJS 和 pnpm 安装指南

本指南帮助您安装 NodeJS 和 pnpm 包管理器,这些是编译项目前端部分所必需的工具。

🎯 什么是 NodeJS 和 pnpm?

  • NodeJS: JavaScript 运行时环境,让 JavaScript 可以在服务器端运行
  • pnpm: 快速、节省磁盘空间的包管理器,比 npm 更高效

📋 系统要求

  • Ubuntu 18.04+ 或 WSL2 Ubuntu
  • 至少 1GB 可用磁盘空间
  • 稳定的网络连接

🔧 安装 NodeJS

方法一:使用 NodeSource 官方仓库(推荐)

# 更新包列表
sudo apt update

# 安装必要工具
sudo apt install -y curl

# 添加 NodeJS 18.x 仓库
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -

# 安装 NodeJS
sudo apt install -y nodejs

方法二:使用 Ubuntu 官方仓库

# 安装 NodeJS (版本可能较旧)
sudo apt install -y nodejs npm

方法三:使用 NVM (Node Version Manager)

# 安装 NVM
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash

# 重新加载 shell 配置
source ~/.bashrc

# 安装最新 LTS 版本的 NodeJS
nvm install --lts
nvm use --lts

✅ 验证 NodeJS 安装

# 检查 NodeJS 版本
node --version

# 检查 npm 版本
npm --version

您应该看到类似输出:

v18.17.0
9.6.7

🚀 安装 pnpm

使用 npm 安装 pnpm

# 全局安装 pnpm
sudo npm install -g pnpm

# 验证安装
pnpm --version

使用官方安装脚本

# 使用官方安装脚本
curl -fsSL https://get.pnpm.io/install.sh | sh -

# 重新加载 shell 配置
source ~/.bashrc

# 验证安装
pnpm --version

🌐 配置国内镜像源

💡 为什么需要换源? 国外的 npm 仓库在国内访问较慢,配置国内镜像可以大幅提升包下载速度。

配置 npm 镜像源

# 淘宝镜像(推荐)
npm config set registry https://registry.npmmirror.com

# 华为镜像
npm config set registry https://mirrors.huaweicloud.com/repository/npm/

# 腾讯镜像
npm config set registry https://mirrors.cloud.tencent.com/npm/

# 验证配置
npm config get registry

配置 pnpm 镜像源

# 淘宝镜像(推荐)
pnpm config set registry https://registry.npmmirror.com

# 华为镜像
pnpm config set registry https://mirrors.huaweicloud.com/repository/npm/

# 验证配置
pnpm config get registry

临时使用镜像源

如果不想永久更改配置,可以临时使用:

# 使用淘宝镜像安装包
npm install --registry=https://registry.npmmirror.com

# 或者
pnpm install --registry=https://registry.npmmirror.com

🔧 npm/pnpm 基本使用

npm 常用命令

# 初始化项目
npm init -y

# 安装项目依赖
npm install

# 安装特定包
npm install package-name

# 全局安装
sudo npm install -g package-name

# 查看已安装的包
npm list

# 更新包
npm update

# 卸载包
npm uninstall package-name

pnpm 常用命令

# 初始化项目
pnpm init

# 安装项目依赖
pnpm install

# 安装特定包
pnpm add package-name

# 全局安装
pnpm add -g package-name

# 查看已安装的包
pnpm list

# 更新包
pnpm update

# 卸载包
pnpm remove package-name

🏗️ 为项目安装依赖

现在让我们为 miniapp 项目安装前端依赖:

# 导航到项目目录
cd ~/development/miniapp

# 进入 UI 目录
cd ui

# 使用 pnpm 安装依赖
pnpm install

这个过程可能需要几分钟,具体时间取决于网络速度。

⚡ 性能优化配置

配置 pnpm 存储路径

# 设置 pnpm 存储路径(可选)
pnpm config set store-dir ~/.pnpm-store

# 查看配置
pnpm config list

配置并发下载

# 增加并发下载数
pnpm config set network-concurrency 16

# 设置超时时间
pnpm config set network-timeout 300000

清理缓存

定期清理缓存可以节省磁盘空间:

# 清理 npm 缓存
npm cache clean --force

# 清理 pnpm 缓存
pnpm store prune

🔍 故障排除

检查网络连接

# 测试 npm 仓库连接
curl -I https://registry.npmmirror.com

# 测试包下载
npm info react

重置配置

如果遇到配置问题,可以重置:

# 重置 npm 配置
npm config delete registry
npm config delete proxy
npm config delete https-proxy

# 重置 pnpm 配置
pnpm config delete registry

权限问题解决

如果遇到权限问题:

# 修改 npm 全局目录权限
sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}

# 或者配置 npm 使用不同的目录
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

✅ 验证安装

运行以下命令验证一切正常:

# 检查版本
node --version
npm --version
pnpm --version

# 测试包安装
mkdir test-npm
cd test-npm
pnpm init -y
pnpm add lodash
ls node_modules
cd ..
rm -rf test-npm

# 检查镜像源
npm config get registry
pnpm config get registry

🚀 下一步

NodeJS 和 pnpm 安装完成后,请继续:

❗ 常见问题

问题1:node: command not found

解决方案

# 重新加载 shell 配置
source ~/.bashrc

# 或者重新打开终端
# 检查 PATH 环境变量
echo $PATH

问题2:npm EACCES 权限错误

解决方案

# 方法1:使用 sudo
sudo npm install -g package-name

# 方法2:更改全局目录权限(推荐)
sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}

问题3:pnpm install 失败

解决方案

# 清理缓存
pnpm store prune

# 删除 node_modules 和 lock 文件
rm -rf node_modules pnpm-lock.yaml

# 重新安装
pnpm install

问题4:网络超时或连接失败

解决方案

# 检查镜像源配置
pnpm config get registry

# 尝试不同的镜像源
pnpm config set registry https://registry.npmmirror.com

# 增加超时时间
pnpm config set network-timeout 600000

问题5:版本不兼容

解决方案

# 使用 NVM 管理多个 NodeJS 版本
nvm install 16
nvm use 16

# 查看可用版本
nvm list-remote

需要帮助? 查看 常见问题解决网络问题和换源指南 获取更多解决方案。