马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
办理 pnpm dev 运行报错的坎坷历程
在项目开发过程中, 在clone完别人的代码后启动项目时:nodejs 和 pnpm版本都没题目 ,但是 无法运行 pnpm dev 下令启动项目时,通常会碰到各种各样的报错题目。近来在处置惩罚 yudao-ui-admin-vue3 项目时,就接连遭遇了多个棘手的错误,颠末一番探索和实行,终极乐成办理。现将整个办理过程记录下来,盼望能资助到碰到类似题目的开发者。
一、Command "dev" not found 错误
题目形貌
初次运行 pnpm dev 时,出现错误提示 ERR_PNPM_RECURSIVE_EXEC_FIRST_FAIL Command "dev" not found,这意味着 pnpm 找不到名为 dev 的脚本下令。
缘故原由分析
这种环境通常是由于项目根目次下的 package.json 文件中,scripts 字段缺少 dev 脚本设置,或者依赖未准确安装导致干系下令无法执行。
办理过程
- 查抄 package.json 设置:
打开项目根目次下的 package.json 文件,找到 scripts 字段,确认其中是否有 dev 干系的设置。我的项目中该字段内容如下:
- {
- "name": "yudao-ui-admin-vue3",
- "version": "2.4.1-snapshot",
- "scripts": {
- "dev": "vite --mode env.local",
- "build": "vite build",
- "preview": "vite preview"
- },
- "dependencies": {
- // 其他依赖...
- },
- "devDependencies": {
- // 其他开发依赖...
- }
- }
复制代码 可以看到,dev 脚本设置是存在的,阐明不是脚本缺失的题目,可能是依赖安装非常导致。
2. 重新安装依赖:
在终端中进入项目根目次(假如还未进入),执行以下下令删除 node_modules 目次和 pnpm-lock.yaml 文件(假如存在):- # 删除 node_modules 目录
- rm -rf node_modules
- # 删除 pnpm-lock.yaml 文件(如果存在)
- rm pnpm-lock.yaml
复制代码 然后重新运行 pnpm install
安装依赖:然而,再次执行 pnpm dev 后,该错误仍然存在,阐明题目尚未办理,必要进一步排查。
二、Permission denied 错误
题目形貌
在重新安装依赖后再次运行 pnpm dev,出现了新的错误提示 sh: /Users/ljj/Downloads/code_1/code 2/yudao-ui-admin-vue3/node_modules/.bin/vite: Permission denied,体现没有执行 vite 下令的权限。
缘故原由分析
在 Linux 和 macOS 体系中,文件权限控制着用户对文件的读、写和执行操作。出现此错误,是由于当前用户对 vite 文件没有执行权限。
办理过程
利用 chmod 下令给 vite 文件添加可执行权限。在项目根目次下执行以下下令:- chmod +x node_modules/.bin/vite
复制代码 chmod +x 下令用于给文件添加可执行权限。执行完这个下令后,再次运行 pnpm dev。这次固然没有了权限错误,但又出现了新的报错。
三、ERR_MODULE_NOT_FOUND 错误
题目形貌
运行 pnpm dev 后,出现了如下错误信息:- > vite --mode env.local
- node:internal/errors:496
- ErrorCaptureStackTrace(err);
- ^
- Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'esbuild' imported from /Users/ljj/Downloads/code_1/code 2/yudao-ui-admin-vue3/node_modules/vite/dist/node/cli.js
- at new NodeError (node:internal/errors:405:5)
- at packageResolve (node:internal/modules/esm/resolve:916:9)
- at moduleResolve (node:internal/modules/esm/resolve:973:20)
- at defaultResolve (node:internal/modules/esm/resolve:1206:11)
- at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:404:12)
- at ModuleLoader.resolve (node:internal/modules/esm/loader:373:25)
- at ModuleLoader.getModuleJob (node:internal/modules/esm/loader:250:38)
- at ModuleWrap.<anonymous> (node:internal/modules/esm/module_job:76:39)
- at link (node:internal/modules/esm/module_job:75:36) {
- code: 'ERR_MODULE_NOT_FOUND'
- }
- Node.js v18.20.8
- ELIFECYCLE Command failed with exit code 1.
复制代码 该错误表明 Node.js 无法找到 esbuild 包,而 esbuild 是 Vite 构建工具依赖的紧张包,缺少它会导致 Vite 无法正常启动。
缘故原由分析
可能是依赖安装过程中出现题目,导致 esbuild 包没有准确安装到项目中。
办理过程
- 再次重新安装依赖:
为了确保依赖安装的完备性,再次删除 node_modules 目次和 pnpm-lock.yaml 文件(假如存在),执行下令:
- # 删除 node_modules 目录
- rm -rf node_modules
- # 删除 pnpm-lock.yaml 文件(如果存在)
- rm pnpm-lock.yaml
复制代码 然后重新执行 pnpm install
安装依赖:执行完后,运行 pnpm dev,题目仍然存在,阐明单纯重新安装全部依赖无法办理该题目。
2. 手动安装 esbuild 包:
既然主动安装没有办理 esbuild 包缺失的题目,那么我们实行手动安装 esbuild 包。在项目根目次下的终端中执行以下下令:- pnpm install
- esbuild --save-dev
复制代码 --save-dev 参数体现将 esbuild 作为开发依赖安装到项目中。安装完成后,再次运行 pnpm dev。这次,项目终于乐成启动!
总结
在办理 pnpm dev 运行报错的过程中,我们碰到了依赖设置、文件权限和依赖缺失等多种题目。通过徐徐排查和针对性的办理步调,终极使项目可以大概顺遂启动。在碰到类似题目时,我们可以从以下几个方面入手:
- 细致查抄 package.json 文件中的脚本设置和依赖列表,确保 dev 脚本存在且依赖完备。
- 确保文件和目次具有准确的权限,特别是可执行文件,如碰到权限题目,利用 chmod 下令举行调解。
- 当依赖安装出现题目时,实行多次重新安装或手动安装缺失的依赖包。
- 注意 Node.js 版本与项目依赖的兼容性,须要时利用 nvm 等工具举行版本切换。
最后! 假如以上你都试过了 照旧不可 重启终端 或者重启电脑 清一下缓存就好了!!!
盼望本文记录的详细办理过程可以大概为各人在开发过程中办理类似题目提供一些参考和资助。假如各人另有其他更好的办理方法或碰到了差异的题目,接待在评论区互换分享!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |