在 VSCode 中使用终端克隆 Element Plus 全流程

在 VS Code 中使用终端克隆 Element Plus 项目的完整流程

1. 准备工作

1.1 安装必要软件

1.2 在 VS Code 中打开终端

  • 快捷键:``Ctrl + ```(反引号)

  • 或者:菜单栏 → 查看 → 终端

2. 完整克隆流程

2.1 导航到目标目录

bash

复制代码
# 查看当前目录
pwd

# 切换到你想存放项目的目录(例如:Documents)
cd ~/Documents

# 或者创建一个专门存放项目的文件夹
mkdir projects
cd projects

2.2 克隆 Element Plus 仓库

bash

复制代码
# 使用 git clone 命令克隆项目
git clone https://github.com/element-plus/element-plus.git

# 如果你想重命名文件夹,可以这样写
# git clone https://github.com/element-plus/element-plus.git my-element-plus

2.3 进入项目目录

bash

复制代码
cd element-plus

3. 项目初始化和设置

3.1 安装依赖

bash

复制代码
# Element Plus 使用 pnpm,如果你没有安装 pnpm,先安装它
npm install -g pnpm

# 安装项目依赖
pnpm install

# 或者使用 npm(如果项目支持)
npm install

3.2 查看项目结构

bash

复制代码
# 列出项目文件和文件夹
ls -la

# 或者使用 VS Code 的资源管理器查看

4. VS Code 中的实用操作

4.1 在 VS Code 中打开项目

bash

复制代码
# 在终端中直接打开当前目录
code .

# 或者通过 VS Code 菜单:文件 → 打开文件夹

4.2 配置 Git 相关扩展(可选)

  • 安装 GitLens 扩展

  • 安装 Git Graph 扩展

4.3 使用源代码管理面板

  • 左侧活动栏 → 源代码管理图标(或 Ctrl+Shift+G)

  • 查看文件变更状态

  • 提交更改

5. 项目开发常用命令

bash

复制代码
# 启动开发服务器
pnpm dev

# 运行测试
pnpm test

# 构建项目
pnpm build

# 查看所有可用命令
pnpm run

6. Git 基本操作(后续使用)

bash

复制代码
# 查看当前状态
git status

# 查看提交历史
git log --oneline

# 拉取最新更新
git pull

# 创建新分支
git checkout -b feature-branch

# 切换分支
git checkout main

7. 完整示例脚本

bash

复制代码
#!/bin/bash
# 这是一个完整的克隆和初始化示例

echo "开始克隆 Element Plus 项目..."

# 1. 创建并进入项目目录
mkdir -p ~/projects
cd ~/projects

# 2. 克隆项目
git clone https://github.com/element-plus/element-plus.git

echo "克隆完成!"

# 3. 进入项目目录
cd element-plus

# 4. 检查 Node.js 版本
node --version

# 5. 安装 pnpm(如果未安装)
if ! command -v pnpm &> /dev/null; then
    echo "正在安装 pnpm..."
    npm install -g pnpm
fi

# 6. 安装依赖
echo "正在安装依赖..."
pnpm install

echo "项目准备就绪!"
echo "使用 'cd ~/projects/element-plus && code .' 在 VS Code 中打开项目"

8. 常见问题和解决方案

问题1:git clone 速度慢

bash

复制代码
# 使用 GitHub 镜像
git clone https://github.com.cnpmjs.org/element-plus/element-plus.git

# 或使用深度克隆减少历史记录
git clone --depth=1 https://github.com/element-plus/element-plus.git

问题2:权限被拒绝

bash

复制代码
# 检查 SSH 密钥设置
ssh -T git@github.com

# 或者使用 HTTPS 方式
git config --global credential.helper store

问题3:pnpm 安装失败

bash

复制代码
# 使用 npm 替代
npm install

# 或清除缓存后重试
pnpm store prune

9. VS Code 终端提示

  1. 多终端:可以同时打开多个终端(Ctrl+Shift+5)

  2. 终端选择器:点击终端面板右上角的 "+" 或下拉菜单

  3. 拆分终端:右键终端 → 拆分

  4. 命令历史:使用上下箭头键查看之前执行的命令

10. 验证安装成功

bash

复制代码
# 在 element-plus 目录中运行
cd element-plus
pnpm --version
git --version
npm --version

# 运行开发服务器测试
pnpm dev

按照这个流程,你就可以在 VS Code 中成功克隆并开始使用 Element Plus 项目了。

本回答由 AI 生成,内容仅供参考,请仔细甄别。


mumu@MuJinqiu:~/projects git clone https://github.com.cnpmjs.org/element-plus/element-plus.git Cloning into 'element-plus'... fatal: unable to access 'https://github.com.cnpmjs.org/element-plus/element-plus.git/': Could not resolve host: github.com.cnpmjs.org mumu@MuJinqiu:\~/projects


看起来是 DNS 解析问题。让我们尝试几种不同的解决方案:


解决方案 1:使用不同的镜像源

尝试其他 GitHub 镜像:

bash

复制代码
# 镜像1:fastgit
git clone https://hub.fastgit.org/element-plus/element-plus.git

# 镜像2:ghproxy
git clone https://ghproxy.com/https://github.com/element-plus/element-plus.git

# 镜像3:直接使用官方源(可能较慢但稳定)
git clone https://github.com/element-plus/element-plus.git

解决方案 2:配置 DNS(临时)

修改 /etc/hosts 文件:

bash

复制代码
# 首先备份
sudo cp /etc/hosts /etc/hosts.bak

# 添加 GitHub 相关域名(使用管理员权限)
sudo nano /etc/hosts

# 在文件末尾添加以下内容(任选一组IP):
# GitHub 镜像1
140.82.112.4 github.com
199.232.69.194 github.global.ssl.fastly.net

# 或者使用其他IP
185.199.108.153 github.com
185.199.109.153 github.com
185.199.110.153 github.com
185.199.111.153 github.com

# 保存后刷新DNS缓存
sudo systemd-resolve --flush-caches
# 或者
sudo /etc/init.d/nscd restart

解决方案 3:使用 SSH 方式克隆

首先设置 SSH 密钥(如果你还没有):

bash

复制代码
# 检查是否已有SSH密钥
ls -al ~/.ssh

# 如果没有,生成新的SSH密钥
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

# 查看公钥并添加到GitHub
cat ~/.ssh/id_rsa.pub

# 然后使用SSH克隆
git clone git@github.com:element-plus/element-plus.git

解决方案 4:使用 Git 代理(如果你有)

bash

复制代码
# 设置代理
git config --global http.proxy http://proxy.example.com:8080
git config --global https.proxy https://proxy.example.com:8080

# 然后再试
git clone https://github.com/element-plus/element-plus.git

# 完成后取消代理
git config --global --unset http.proxy
git config --global --unset https.proxy

解决方案 5:使用压缩和深度克隆

bash

复制代码
# 使用浅克隆(只下载最新版本)
git clone --depth=1 https://github.com/element-plus/element-plus.git

# 或者使用压缩
git config --global http.postBuffer 524288000
git clone https://github.com/element-plus/element-plus.git

解决方案 6:检查网络连接

bash

复制代码
# 测试网络连通性
ping -c 4 github.com
ping -c 4 8.8.8.8

# 测试DNS解析
nslookup github.com
dig github.com

# 检查代理设置
echo $http_proxy
echo $https_proxy

解决方案 7:使用 wget 或 curl 先下载(备用方案)

bash

复制代码
# 下载zip包
wget https://github.com/element-plus/element-plus/archive/refs/heads/main.zip
# 或
curl -L -o element-plus.zip https://github.com/element-plus/element-plus/archive/refs/heads/main.zip

# 解压
unzip element-plus.zip
mv element-plus-main element-plus

最推荐尝试的顺序:

  1. 首先尝试直接使用官方源

bash

复制代码
mumu@MuJinqiu:~/projects$ git clone https://github.com/element-plus/element-plus.git
  1. 如果速度慢,尝试浅克隆

bash

复制代码
mumu@MuJinqiu:~/projects$ git clone --depth=1 https://github.com/element-plus/element-plus.git
  1. 使用 SSH 方式(需要先配置SSH密钥):

bash

复制代码
mumu@MuJinqiu:~/projects$ git clone git@github.com:element-plus/element-plus.git
  1. 尝试另一个镜像

bash

复制代码
mumu@MuJinqiu:~/projects$ git clone https://hub.fastgit.org/element-plus/element-plus.git

如果以上都不行,请告诉我:

  1. 你所在的地区/网络环境

  2. 是否在公司/学校网络

  3. 运行 ping github.comcurl -v https://github.com 的结果

  4. 是否有VPN或代理可用

这样我可以提供更有针对性的解决方案。

本回答由 AI 生成,内容仅供参考,请仔细甄别。


mumu@MuJinqiu:~/projects/element-plus pnpm dev \> @ dev /home/mumu/projects/element-plus \> pnpm -C play dev \> @element-plus/play@ dev /home/mumu/projects/element-plus/play \> vite command not found: vite  ELIFECYCLE  Command failed with exit code 127.  WARN  Local package.json exists, but node_modules missing, did you mean to install?  ELIFECYCLE  Command failed with exit code 127.  WARN  Local package.json exists, but node_modules missing, did you mean to install? mumu@MuJinqiu:\~/projects/element-plus


看起来依赖没有正确安装。让我们按步骤解决这个问题:


1. 首先检查项目结构

bash

复制代码
# 回到项目根目录
cd ~/projects/element-plus

# 检查项目文件
ls -la

2. 清理并重新安装依赖

bash

复制代码
# 删除现有的 node_modules(如果有)
rm -rf node_modules
rm -rf play/node_modules

# 清理 npm/pnpm 缓存
pnpm store prune
# 或者
npm cache clean --force

# 重新安装依赖(从根目录开始)
pnpm install
# 或者如果 pnpm 有问题,使用 npm
npm install

3. 如果上面不行,尝试分步安装

bash

复制代码
# 1. 确保在项目根目录
cd ~/projects/element-plus

# 2. 安装根目录依赖
pnpm install

# 3. 进入 play 目录安装依赖
cd play
pnpm install
# 或 npm install

# 4. 回到根目录
cd ..

# 5. 安装所有工作区的依赖
pnpm -r install

4. 检查 Node.js 和 pnpm 版本

bash

复制代码
# 检查 Node.js 版本(Element Plus 需要 Node.js 14+)
node --version

# 检查 pnpm 版本
pnpm --version

# 如果 pnpm 未安装或版本过旧
npm install -g pnpm@latest

# 或者安装特定版本
npm install -g pnpm@7

5. 手动安装 vite(如果依赖安装后仍然缺失)

bash

复制代码
# 在项目根目录
pnpm add -D vite

# 或者在 play 目录
cd play
pnpm add vite

6. 使用 npm 替代方案

如果 pnpm 持续有问题,可以切换到 npm:

bash

复制代码
# 删除 pnpm 相关文件
rm -rf node_modules
rm -rf play/node_modules
rm -f pnpm-lock.yaml

# 使用 npm 安装
npm install

# 然后尝试运行
npm run dev

7. 完整解决方案脚本

bash

复制代码
#!/bin/bash
cd ~/projects/element-plus

echo "1. 清理旧文件..."
rm -rf node_modules
rm -rf play/node_modules
rm -f pnpm-lock.yaml
rm -f package-lock.json

echo "2. 检查 Node.js 版本..."
node --version

echo "3. 更新 pnpm..."
npm install -g pnpm@latest

echo "4. 安装依赖..."
pnpm install

echo "5. 单独安装 play 目录的依赖..."
cd play
pnpm install
cd ..

echo "6. 尝试启动开发服务器..."
pnpm dev

8. 如果还是有问题,检查具体错误

bash

复制代码
# 查看更详细的错误信息
pnpm dev --verbose

# 或者直接运行 vite 命令
npx vite

# 检查 vite 是否在 node_modules 中
ls node_modules/.bin/ | grep vite

# 尝试手动安装缺失的包
cd play
pnpm add vite @vitejs/plugin-vue vue

9. 备选方案:使用 Docker

如果本地环境问题难以解决:

bash

复制代码
# 使用 Docker 运行项目
docker run -it --rm \
  -v $(pwd):/app \
  -w /app \
  node:16-alpine \
  sh -c "npm install && npm run dev"

10. 常见问题排查

bash

复制代码
# 1. 检查 package.json 中的脚本
cat package.json | grep -A5 '"scripts"'
cat play/package.json | grep -A5 '"scripts"'

# 2. 检查 node_modules 是否存在
ls -la node_modules | head -20
ls -la play/node_modules | head -20

# 3. 检查 PATH 中是否有 vite
which vite
echo $PATH

# 4. 使用 npx 运行
npx vite dev

建议操作顺序:

  1. 首先尝试最简单的

bash

复制代码
cd ~/projects/element-plus
rm -rf node_modules play/node_modules
pnpm install
pnpm dev
  1. 如果不行,使用 npm

bash

复制代码
cd ~/projects/element-plus
rm -rf node_modules play/node_modules
rm -f pnpm-lock.yaml
npm install
npm run dev
  1. 如果还是有问题,请提供以下信息

bash

复制代码
# 运行这些命令并告诉我输出
node --version
pnpm --version
npm --version
ls -la ~/projects/element-plus/play/

这样我可以更准确地诊断问题所在。

mumu@MuJinqiu:~/projects/element-plus pnpm -C play dev \> @element-plus/play@ dev /home/mumu/projects/element-plus/play \> vite command not found: vite  ELIFECYCLE  Command failed with exit code 127. mumu@MuJinqiu:\~/projects/element-plus

这个问题表明 vite 没有正确安装。让我们一步步解决:

1. 首先检查 play 目录的依赖状态

bash

复制代码
# 进入 play 目录
cd ~/projects/element-plus/play

# 检查 package.json 和 node_modules
ls -la

# 查看 package.json 中的依赖
cat package.json | grep -A10 "devDependencies"

2. 安装 play 目录的依赖

bash

复制代码
# 在 play 目录中安装依赖
cd ~/projects/element-plus/play
pnpm install

# 或者使用 npm
npm install

# 检查是否安装了 vite
ls node_modules/.bin/ | grep vite

3. 如果上面不行,手动安装 vite

bash

复制代码
# 在 play 目录中手动安装 vite 和相关依赖
cd ~/projects/element-plus/play
pnpm add vite @vitejs/plugin-vue vue typescript @types/node -D

# 或者指定版本(确保与 package.json 兼容)
pnpm add vite@^3.0.0 @vitejs/plugin-vue@^4.0.0 -D

4. 检查全局安装的 vite

bash

复制代码
# 检查全局是否有 vite
which vite

# 全局安装 vite(临时方案)
npm install -g vite

# 然后再次尝试
pnpm dev

5. 使用 npx 运行

bash

复制代码
# 使用 npx 直接运行 vite(这会自动下载缺失包)
cd ~/projects/element-plus/play
npx vite dev

# 或者
npx vite

6. 完整重装方案

bash

复制代码
# 回到项目根目录
cd ~/projects/element-plus

# 1. 删除所有 node_modules 和 lock 文件
rm -rf node_modules
rm -rf packages/*/node_modules
rm -rf play/node_modules
rm -f pnpm-lock.yaml
rm -f package-lock.json

# 2. 使用 npm 代替 pnpm(如果 pnpm 有问题)
npm install

# 3. 安装 play 目录依赖
cd play
npm install

# 4. 回到根目录运行
cd ..
npm run dev

7. 检查 Node.js 环境问题

bash

复制代码
# 检查 Node.js 版本(Element Plus 需要 Node.js 14+)
node --version

# 如果版本太低,升级 Node.js
# 使用 nvm 管理 Node.js 版本(推荐)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
# 重启终端后
nvm install 16
nvm use 16

# 或者使用 apt(Ubuntu/Debian)
sudo apt update
sudo apt install nodejs npm
sudo npm install -g n
sudo n stable

8. 特定针对 Element Plus 的解决方案

Element Plus 使用 monorepo 结构,需要特殊处理:

bash

复制代码
# 方法1:使用项目提供的安装脚本
cd ~/projects/element-plus

# 查看可用的脚本
cat package.json | grep '"scripts"'

# 通常 Element Plus 有 bootstrap 脚本
pnpm bootstrap
# 或者
npm run bootstrap

# 然后运行
pnpm dev

bash

复制代码
# 方法2:完整的工作区安装
cd ~/projects/element-plus

# 安装所有工作区包
pnpm -r install

# 或者
pnpm install --recursive

9. 快速测试脚本

bash

复制代码
#!/bin/bash
cd ~/projects/element-plus/play

echo "当前目录:"
pwd

echo "检查 node_modules..."
if [ ! -d "node_modules" ]; then
    echo "node_modules 不存在,正在安装..."
    npm install
else
    echo "node_modules 已存在,检查 vite..."
    if [ ! -f "node_modules/.bin/vite" ]; then
        echo "vite 未找到,重新安装..."
        npm install vite @vitejs/plugin-vue --save-dev
    fi
fi

echo "尝试运行 vite..."
npx vite

10. 如果以上都不行,直接修改 package.json 脚本

bash

复制代码
# 编辑 play/package.json
cd ~/projects/element-plus/play
nano package.json

# 找到 "scripts" 部分,将:
# "dev": "vite"
# 改为:
# "dev": "npx vite"

# 然后运行
npm run dev

最简单的解决方案:

bash

复制代码
# 1. 确保在项目根目录
cd ~/projects/element-plus

# 2. 删除并重装所有依赖
rm -rf node_modules play/node_modules
npm install

# 3. 单独安装 play 的 vite
cd play
npm install vite @vitejs/plugin-vue --save-dev

# 4. 运行
npx vite

如果还有问题,请告诉我:

  1. node --version 的输出

  2. ls -la ~/projects/element-plus/play/ 的输出

  3. cat ~/projects/element-plus/play/package.json 中 "devDependencies" 部分

这样我可以提供更精准的解决方案。


mumu@MuJinqiu:~/projects/element-plus/play ls -la total 48 drwxr-xr-x 6 mumu mumu 4096 Dec 31 14:59 . drwxr-xr-x 16 mumu mumu 4096 Dec 31 15:00 .. -rw-r--r-- 1 mumu mumu 791 Dec 31 14:54 app.example.vue -rw-r--r-- 1 mumu mumu 82 Dec 31 14:54 env.d.ts -rw-r--r-- 1 mumu mumu 435 Dec 31 14:54 index.html -rw-r--r-- 1 mumu mumu 1134 Dec 31 14:54 main.ts drwxr-xr-x 4 mumu mumu 4096 Dec 31 14:59 node_modules -rw-r--r-- 1 mumu mumu 529 Dec 31 14:54 package.json drwxr-xr-x 2 mumu mumu 4096 Dec 31 14:54 scripts drwxr-xr-x 2 mumu mumu 4096 Dec 31 14:54 src drwxr-xr-x 2 mumu mumu 4096 Dec 31 14:54 styles -rw-r--r-- 1 mumu mumu 1955 Dec 31 14:54 vite.config.mts mumu@MuJinqiu:\~/projects/element-plus/play cat package.json | grep -A10 "devDependencies" "devDependencies": { "@vitejs/plugin-vue": "catalog:", "@vitejs/plugin-vue-jsx": "catalog:", "unplugin-vue-components": "0.27.4", "vite": "^5.4.10", "vite-plugin-inspect": "^0.8.7", "vite-plugin-mkcert": "^1.17.6" } } mumu@MuJinqiu:~/projects/element-plus/play$


看到问题了!package.json 中的依赖版本使用了 "catalog:",这通常是工作区(workspace)引用,说明应该从项目根目录安装依赖。让我们来解决:


1. 正确的工作区安装方法

bash

复制代码
# 回到项目根目录
cd ~/projects/element-plus

# 检查根目录的 package.json
cat package.json | grep -A5 '"workspaces"'

# 安装所有工作区依赖
pnpm install

# 或者使用 workspace 命令
pnpm -r install

2. 使用项目的 bootstrap 脚本

Element Plus 项目通常有 bootstrap 脚本:

bash

复制代码
# 在根目录运行
pnpm bootstrap
# 或者
npm run bootstrap

# 如果没有 bootstrap,尝试 setup
pnpm setup
# 或者
npm run setup

3. 查看可用的 npm 脚本

bash

复制代码
cd ~/projects/element-plus
cat package.json | grep -A20 '"scripts"'

# 常见的脚本可能有:
# "dev": "pnpm -C play dev"
# "build": "pnpm -C play build"
# "bootstrap": "pnpm install && pnpm build"
# "setup": "pnpm bootstrap"

4. 如果工作区安装失败,尝试手动安装

bash

复制代码
# 在 play 目录中,将 "catalog:" 替换为具体版本
cd ~/projects/element-plus/play

# 备份原始 package.json
cp package.json package.json.backup

# 编辑 package.json,将 "catalog:" 替换为具体版本
# 需要查看根目录的 package.json 来确定版本
cd ~/projects/element-plus
cat package.json | grep -A10 '"dependencies"'
cat package.json | grep -A10 '"devDependencies"'

# 或者直接安装最新版本
cd play
pnpm add @vitejs/plugin-vue @vitejs/plugin-vue-jsx vite -D

5. 快速解决方案(修改 package.json)

bash

复制代码
# 编辑 play 目录的 package.json
cd ~/projects/element-plus/play
nano package.json

# 将 devDependencies 部分修改为:
{
  "devDependencies": {
    "@vitejs/plugin-vue": "^4.0.0",
    "@vitejs/plugin-vue-jsx": "^3.0.0",
    "unplugin-vue-components": "0.27.4",
    "vite": "^5.0.0",
    "vite-plugin-inspect": "^0.8.7",
    "vite-plugin-mkcert": "^1.17.6"
  }
}

# 保存后安装依赖
pnpm install
# 或者
npm install

# 然后运行
pnpm dev

6. 使用根目录的完整安装

bash

复制代码
# 在根目录执行完整安装
cd ~/projects/element-plus

# 方法1:使用 pnpm workspace
pnpm -r install

# 方法2:如果上面不行,使用递归安装
pnpm install --recursive

# 方法3:使用 npm workspaces
npm install --workspaces

# 然后尝试运行
pnpm dev

7. 检查 vite 是否在 .bin 目录

bash

复制代码
cd ~/projects/element-plus/play
ls -la node_modules/.bin/

# 如果 .bin 目录没有 vite,说明安装有问题
# 检查是否有 vite 包
ls node_modules/ | grep vite

8. 使用绝对路径运行 vite

bash

复制代码
# 直接使用 node_modules 中的 vite
cd ~/projects/element-plus/play
./node_modules/.bin/vite

# 或者
node node_modules/vite/bin/vite.js

9. 完整重置和安装脚本

bash

复制代码
#!/bin/bash
cd ~/projects/element-plus

echo "1. 清理旧文件..."
rm -rf node_modules
rm -rf packages/*/node_modules
rm -rf play/node_modules
rm -f pnpm-lock.yaml

echo "2. 检查工作区配置..."
if grep -q '"workspaces"' package.json; then
    echo "检测到 workspaces,使用 pnpm workspace 安装..."
    pnpm -r install
else
    echo "未检测到 workspaces,普通安装..."
    pnpm install
fi

echo "3. 检查 play 目录依赖..."
cd play
if [ -f "package.json" ]; then
    echo "安装 play 目录依赖..."
    pnpm install
fi

echo "4. 尝试运行..."
cd ..
pnpm dev

10. 如果还是不行,直接运行开发服务器

bash

复制代码
# 跳过 pnpm,直接使用 vite
cd ~/projects/element-plus/play

# 临时全局安装 vite
npm install -g vite

# 运行
vite

# 或者使用 npx
npx vite dev --host

最简单有效的方案:

bash

复制代码
# 1. 确保在项目根目录
cd ~/projects/element-plus

# 2. 运行项目的 bootstrap(如果有)
pnpm bootstrap 2>/dev/null || npm run bootstrap 2>/dev/null || echo "没有bootstrap脚本"

# 3. 如果上面没有,安装所有工作区
pnpm -r install

# 4. 检查并运行
if [ -f "play/package.json" ]; then
    cd play
    pnpm install
    cd ..
fi

# 5. 运行开发服务器
pnpm dev

请先尝试第10条的"最简单有效的方案",然后告诉我结果。如果还有问题,请运行:

bash

复制代码
cd ~/projects/element-plus
cat package.json | grep -B5 -A5 '"scripts"'

这样我可以看到项目提供的具体脚本。


mumu@MuJinqiu:~/projects/element-plus cat package.json \| grep -A5 '"workspaces"' "workspaces": \[ "packages/\*", "play", "docs" \], "scripts": { mumu@MuJinqiu:\~/projects/element-plus pnpm install Scope: all 17 workspace projects Lockfile is up to date, resolution step is skipped Packages: +1881 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Progress: resolved 1881, reused 1869, downloaded 0, added 1881, done node_modules/.pnpm/puppeteer@24.33.0_typescript@5.5.4/node_modules/puppeteer: Running postinstall script, failed in 321ms .../node_modules/puppeteer postinstall$ node install.mjs │ **INFO** Skipping Firefox download as instructed. │ Error: ERROR: Failed to set up chrome v143.0.7499.42! Set "PUPPETEER_SKIP_DOWNLOAD" env variable to sk... │ at downloadBrowser (file:///home/mumu/projects/element-plus/node_modules/.pnpm/puppeteer@24.33.0_t... │ at process.processTicksAndRejections (node:internal/process/task_queues:103:5) │ at async Promise.all (index 0) │ at async downloadBrowsers (file:///home/mumu/projects/element-plus/node_modules/.pnpm/puppeteer@24... │ [cause]: Error: read ECONNRESET │ at TLSWrap.onStreamRead (node:internal/stream_base_commons:216:20) { │ errno: -104, │ code: 'ECONNRESET', │ syscall: 'read' │ } │ } └─ Failed in 321ms at /home/mumu/projects/element-plus/node_modules/.pnpm/puppeteer@24.33.0_typescript@5.5.4/node_modules/puppeteer


看到问题了!puppeteer 安装时下载 Chrome 失败了(网络连接问题)。让我们跳过这个步骤:


解决方案 1:设置环境变量跳过 puppeteer 下载

bash

复制代码
# 设置环境变量跳过 puppeteer 的浏览器下载
export PUPPETEER_SKIP_DOWNLOAD=true

# 重新安装
cd ~/projects/element-plus
pnpm install

# 或者一次性命令
PUPPETEER_SKIP_DOWNLOAD=true pnpm install

解决方案 2:清理缓存并重试

bash

复制代码
# 清理 pnpm 缓存
pnpm store prune

# 设置环境变量并安装
cd ~/projects/element-plus
PUPPETEER_SKIP_DOWNLOAD=true pnpm install --force

解决方案 3:使用 npm 代替 pnpm

bash

复制代码
# 删除 pnpm 相关文件
cd ~/projects/element-plus
rm -rf node_modules
rm -rf packages/*/node_modules
rm -rf play/node_modules
rm -rf docs/node_modules
rm -f pnpm-lock.yaml

# 使用 npm 安装(会自动设置跳过 puppeteer 下载)
npm install --legacy-peer-deps

解决方案 4:配置 npm/pnpm 永久跳过 puppeteer 下载

bash

复制代码
# 添加到 shell 配置文件(如 ~/.bashrc 或 ~/.zshrc)
echo 'export PUPPETEER_SKIP_DOWNLOAD=true' >> ~/.bashrc
echo 'export PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true' >> ~/.bashrc
source ~/.bashrc

# 然后重新安装
cd ~/projects/element-plus
pnpm install

解决方案 5:手动修复 puppeteer 问题后安装

bash

复制代码
# 先单独安装 puppeteer(跳过下载)
cd ~/projects/element-plus
PUPPETEER_SKIP_DOWNLOAD=true pnpm add puppeteer -D -w

# 然后安装其他依赖
pnpm install

解决方案 6:最小化安装(只安装必要依赖)

bash

复制代码
# 只安装 play 目录的依赖
cd ~/projects/element-plus/play

# 创建临时的 package.json(备份原文件)
cp package.json package.json.backup

# 移除 puppeteer 相关依赖(如果有的话)
# 编辑 package.json,将 devDependencies 修改为:
cat > package.json << 'EOF'
{
  "name": "@element-plus/play",
  "private": true,
  "version": "0.0.0",
  "type": "module",
  "scripts": {
    "dev": "vite",
    "build": "vue-tsc && vite build",
    "preview": "vite preview"
  },
  "dependencies": {
    "element-plus": "workspace:*",
    "vue": "^3.3.0"
  },
  "devDependencies": {
    "@vitejs/plugin-vue": "^4.0.0",
    "@vitejs/plugin-vue-jsx": "^3.0.0",
    "unplugin-vue-components": "0.27.4",
    "vite": "^5.0.0",
    "vite-plugin-inspect": "^0.8.7",
    "vite-plugin-mkcert": "^1.17.6",
    "vue-tsc": "^1.8.0"
  }
}
EOF

# 安装依赖
pnpm install

# 运行开发服务器
pnpm dev

推荐的操作步骤:

步骤 1:跳过 puppeteer 下载

bash

复制代码
cd ~/projects/element-plus
PUPPETEER_SKIP_DOWNLOAD=true pnpm install

# 等待安装完成,然后尝试运行
pnpm dev

步骤 2:如果上面不行,使用 npm

bash

复制代码
cd ~/projects/element-plus
rm -rf node_modules
rm -f pnpm-lock.yaml
npm install --legacy-peer-deps

# 进入 play 目录安装
cd play
npm install

# 运行
npm run dev

步骤 3:最小化运行(最快)

bash

复制代码
# 直接在 play 目录中工作
cd ~/projects/element-plus/play

# 检查并修复依赖
if [ ! -d "node_modules" ]; then
    # 临时修改 package.json 避免 puppeteer 问题
    sed -i 's/"catalog:"/"^4.0.0"/g' package.json
    sed -i 's/"catalog:"/"^3.0.0"/g' package.json
    
    # 安装
    npm install
fi

# 运行
npx vite

验证安装是否成功

bash

复制代码
# 检查 vite 是否可用
cd ~/projects/element-plus/play
ls node_modules/.bin/vite

# 直接运行
./node_modules/.bin/vite

# 或者
npx vite --version

如果还是有问题,创建简化的启动脚本

bash

复制代码
cat > ~/projects/element-plus/start-dev.sh << 'EOF'
#!/bin/bash
cd "$(dirname "$0")"

# 设置环境变量
export PUPPETEER_SKIP_DOWNLOAD=true

# 检查依赖
if [ ! -d "node_modules" ] || [ ! -d "play/node_modules" ]; then
    echo "安装依赖..."
    pnpm install || npm install
fi

# 启动开发服务器
cd play
if [ -f "node_modules/.bin/vite" ]; then
    ./node_modules/.bin/vite
else
    npx vite
fi
EOF

chmod +x ~/projects/element-plus/start-dev.sh
cd ~/projects/element-plus
./start-dev.sh

最简单的解决方案(推荐先试这个):

bash

复制代码
# 1. 设置环境变量并安装
cd ~/projects/element-plus
PUPPETEER_SKIP_DOWNLOAD=true pnpm install

# 2. 如果上面有错误,但大部分包安装成功了,直接尝试运行
pnpm dev

# 3. 如果还是说 vite 找不到,直接在 play 目录运行
cd play
npx vite

请先尝试这个最简单的解决方案,通常 puppeteer 只是用于测试,不会影响开发服务器的运行。


mumu@MuJinqiu:~/projects/element-plus$ pnpm -C play dev > @element-plus/play@ dev /home/mumu/projects/element-plus/play > vite VITE v5.4.21 ready in 545 ms ➜ Local: http://localhost:3000/ ➜ Network: http://10.255.255.254:3000/ ➜ Network: http://172.18.230.242:3000/ ➜ Inspect: http://localhost:3000/__inspect/ ➜ press h + enter to show help


Vite 开发服务器已经成功启动了!🎉


成功运行的迹象

  1. Vite 版本: v5.4.21

  2. 本地服务器 : http://localhost:3000/

  3. 网络地址: 有两个网络地址可以访问

  4. 就绪时间: 545 毫秒


现在你可以:

1. 在浏览器中打开项目

bash

复制代码
# 在 Linux 上使用默认浏览器打开
xdg-open http://localhost:3000/

# 或者在终端中直接复制 URL 到浏览器
echo "请打开浏览器访问: http://localhost:3000/"

2. 查看 Element Plus Playground

打开浏览器访问 http://localhost:3000/,你应该能看到:

  • Element Plus 组件库的演示页面

  • 可以交互的组件示例

  • 开发环境的热重载功能

3. VS Code 中的操作

在 VS Code 中打开项目:

bash

复制代码
# 如果还没在 VS Code 中打开
code ~/projects/element-plus
常用开发命令:

bash

复制代码
# 在 VS Code 终端中,你可以:
# 1. 停止当前服务器(在运行 vite 的终端中)
Ctrl + C

# 2. 重新启动
pnpm dev

# 3. 构建生产版本
pnpm build

# 4. 预览构建结果
pnpm preview

4. 项目结构说明

现在你已经有了一个完整的 Element Plus 开发环境:

  • packages/: Element Plus 的源代码包

  • play/: 开发演示和 playground

  • docs/: 文档(如果存在)

5. 开发工作流程

修改代码:
  1. 在 VS Code 中打开文件

  2. 修改代码后保存

  3. 浏览器会自动刷新(热重载)

创建新组件:

bash

复制代码
# 在 packages/components 中创建新组件
# 然后在 play 中测试

6. 有用的开发命令

bash

复制代码
# 在项目根目录可以运行:

# 运行所有测试
pnpm test

# 只运行特定包的测试
pnpm test:unit

# 检查 TypeScript 类型
pnpm type-check

# 代码格式化
pnpm lint
pnpm format

# 构建所有包
pnpm build

7. 访问开发工具

8. 停止和重启

bash

复制代码
# 停止开发服务器(在当前终端)
按 Ctrl + C

# 重启
pnpm dev

# 或者直接运行 vite
cd play
vite

9. 常见开发任务

添加新依赖:

bash

复制代码
# 添加到根项目
pnpm add package-name -w

# 添加到特定工作区(如 play)
pnpm add package-name --filter @element-plus/play
调试:

bash

复制代码
# 启用更详细的日志
pnpm dev --debug

# 或直接
vite --debug

恭喜!🎊

你已经成功:

  1. ✅ 克隆了 Element Plus 项目

  2. ✅ 解决了依赖安装问题

  3. ✅ 启动了开发服务器

  4. ✅ 建立了一个完整的开发环境

现在你可以:

  • 在浏览器中查看和测试 Element Plus 组件

  • 修改源代码并立即看到变化

  • 学习 Element Plus 的内部实现

  • 贡献代码或创建自己的组件


进入项目目录

bash 复制代码
cd element-plus

(可选)安装依赖并启动开发环境

如果你希望运行官方文档或 Playground:

bash 复制代码
# 安装依赖(使用 pnpm,Element Plus 官方推荐)
npm install -g pnpm        # 如果尚未安装 pnpm
pnpm install

# 启动文档站点(含组件 demo)
pnpm docs:dev

注意:Element Plus 使用 pnpm 作为包管理器,不是 npm 或 yarn。


✅ 验证成功

  • 成功克隆后,VSCode 左侧文件资源管理器应显示 element-plus 文件夹。
  • 终端中无报错,且 git clone 完成后出现新目录。
  • 若启动了文档,浏览器打开 http://localhost:5555 应看到 Element Plus 官网本地版。

💡 小贴士

  • 如果你只是想 使用 Element Plus(而非参与开发),通常不需要克隆源码,而是通过 npm 安装:
    Bash

    bash 复制代码
    pnpm add element-plus
  • 克隆源码主要用于:贡献代码、调试组件、查看内部实现等。


如有网络问题(如 GitHub 访问慢),可尝试使用镜像或代理,或改用国内镜像源(如 GitHub Fastly IP 修改 hosts 等方法)。

相关推荐
Bigger1 天前
为什么你的 Git 提交需要签名?—— Git Commit Signing 完全指南
git·开源·github
DianSan_ERP2 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
红豆子不相思2 天前
Tomcat 环境搭建与集群实战
服务器·git·tomcat
杰哥技术分享2 天前
Git 仓库迁移技术文档:从 CODING.net 迁移至腾讯云 CNB
git
Hello World . .2 天前
Linux:线程间通信
linux·开发语言·vscode
梅孔立2 天前
Ansible 100 台服务器一键管控实战 进阶版
服务器·git·ansible
被制作时长两年半的个人练习生2 天前
claude code for vscode 配置 qwen3.5
ide·vscode·claude code·qwen3.5
圣心2 天前
Visual Studio Code 中的 AI 智能操作
ide·人工智能·vscode
吹牛不交税2 天前
关于vscode左侧资源管理器目录层级疑似异常的问题
ide·vscode·编辑器
嵌入小生0072 天前
线程间通信---嵌入式(Linux)
linux·c语言·vscode·嵌入式·互斥锁·线程间通信·信号量