在 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 等方法)。

相关推荐
取个鸣字真的难2 小时前
claude code + vscode,打造专属编程AI IDE
ide·vscode·编辑器·aigc·ai编程·agi·第三方api
Ha_To2 小时前
2025.12.31 VScode
ide·vscode·编辑器
未来可期丶2 小时前
【VSCode】配置JAVA开发环境
java·ide·vscode
怪我冷i3 小时前
Zed编辑器快速入门
vscode·rust·编辑器·zed
世转神风-11 小时前
VS code 打开bin文件的插件
vscode
Sylus_sui16 小时前
git中如何从某次历史提交节点上创建一个新的分支
git·算法·哈希算法
时光Autistic17 小时前
【安装教程】Git安装完整步骤
git·github
小楼v17 小时前
一篇学会在IDEA中的Git常用操作及冲突的解决方法
git·后端
ChangYan.18 小时前
VSCode终端设置为管理员权限,解决operation not permitted问题
ide·vscode·编辑器