软件教程 2025年08月6日
0 收藏 0 点赞 343 浏览 1504 个字
摘要 :

文章目录 报错原因 解决办法 后续更新优化 今天测试环境的vue项目在使用jekins构建到执行pnpm run build时报错,提示错误如下: + pnpm run build > cmms-web@0.0……




  • 报错原因
  • 解决办法
    • 后续更新优化

    今天测试环境的vue项目在使用jekins构建到执行pnpm run build时报错,提示错误如下:

    + pnpm run build
    
    > cmms-web@0.0.0 build /var/lib/jenkins/jobs/cmms-web-test/workspace
    > vue-tsc && vite build
    
    
    /var/lib/jenkins/jobs/cmms-web-test/workspace/node_modules/.pnpm/vue-tsc@1.8.27_typescript@5.5.3/node_modules/vue-tsc/bin/vue-tsc.js:68
                throw err;
                ^
    Search string not found: \"for (const existingRoot of buildInfoVersionMap.roots) {\"
    (Use `node --trace-uncaught ...` to show where the exception was thrown)
     ELIFECYCLE  Command failed with exit code 1.
    Build step \'Execute shell\' marked build as failure
    WARN: Unable to locate \'report-task.txt\' in the workspace. Did the SonarScanner succeed?
    SSH: Current build result is [FAILURE], not going to run.
    Finished: FAILURE
    

    pnpm run build报错Search string not found: “for (const existingRoot of buildInfoVersionMap.roots) {“

    报错原因

    然后百度了下和bing搜索了下都不行,还是得google,一下子就搜索到了问题原因(更具体看这个地址),顺便推荐下google镜像站,如下:pnpm run build报错Search string not found: “for (const existingRoot of buildInfoVersionMap.roots) {“

    翻译下就是因为原先typescript版本由5.4版本升级到了5.5版本导致的,啥?我没升级啊,咋回事?看了下jekin构建时安装依赖时的截图,发现确实是5.5.3版本,那么原因基本就确定了,基本就是因为版本升级导致的!

    解决办法

    按照搜索的解决办法是如下:

    cd frontend
    rm -rf node_modules
    npm cache clean --force
    

    如果你是pnpm就就直接使用pnpm,这个方法对本地可能比较有效,但是我这里本地是ok的,上线到测试环境却报错的了,于是看了下本地的ts的版本,使用如下指令:

    pnpm list
    

    结果如下:

    pnpm run build报错Search string not found: “for (const existingRoot of buildInfoVersionMap.roots) {“

    本地确实是5.4版本的,后来发现pnpm-lock.yaml中的版本也是5.4版本的(npm就去看package-lock.json),没问题,那就奇怪了,怎么本地版本正常,开发环境就异常的,经排查发现是因为pnpm-lock.yaml文件竟然没提交到gitlab,导致jekins去拉取后pnpm install直接拉的的就最新版本,到此,问题就明确了,把pnpm-lock.yaml文件提交了gitlab,再去构建发现版本就正常了:
    pnpm run build报错Search string not found: “for (const existingRoot of buildInfoVersionMap.roots) {“
    进而构建就成功了,vue build报错Search string not found: “for (const existingRoot of buildInfoVersionMap.roots) {“问题完美解决!

    后续更新优化

    后来发现新的项目还是不行,最后解决方案修改package.json文件中的配置项,如下:

    #原来是
    \"typescript\": \"^5.0.5\",
    #现在改为
    \"typescript\": \"~5.4.5\",
    

    然后再去pnpm install发现直接更新了ts版本问5.4.5,pnpm-lock.yaml 中的也也跟着自动更新了,完美解决!

微信扫一扫

支付宝扫一扫

版权: 转载请注明出处:https://www.zuozi.net/6727.html

管理员

相关推荐
2025-08-06

文章目录 一、Promise基础回顾 二、Promise 与 axios 结合使用场景及方法 (一)直接返回 axios …

269
2025-08-06

文章目录 一、模块初始化时的内部机制 二、常见导出写法的差异分析 (一)写法一:module.exports…

107
2025-08-06

文章目录 一、ResizeObserver详解 (一)ResizeObserver是什么 (二)ResizeObserver的基本用法 …

683
2025-08-06

文章目录 一、前期准备工作 (一)下载相关文件 (二)安装必要工具 二、处理扣子空间生成的文件…

338
2025-08-06

文章目录 一、官方文档 二、自动解包的数据类型 ref对象:无需.value即可访问 reactive对象:保持…

371
2025-08-06

文章目录 一、Hooks的工作原理 二、在if语句中使用Hook会出什么岔子? 三、React官方的Hook使用规…

843
发表评论
暂无评论

还没有评论呢,快来抢沙发~

助力内容变现

将您的收入提升到一个新的水平

点击联系客服

在线时间:08:00-23:00

客服QQ

122325244

客服电话

400-888-8888

客服邮箱

122325244@qq.com

扫描二维码

关注微信客服号