如何解决在Jenkins的Docker中,React应用构建失败,但在本地无法失败
在我的本地计算机上,npm run build
可以正常工作。在通过詹金斯(Jenkins)启动的Docker映像上,遇到类似问题
Cannot find module: 'file-saver'. Make sure this package is installed.
You can install this package by running: npm install file-saver.
和
FAIL src/core/App.test.js
● Test suite failed to run
Cannot find module 'surface-nets' from 'vtext.js'
在本地计算机上,我已经清除了npm缓存(npm cache clean -f
),删除了node_modules/
,然后重新安装了(npm i
)。我什至使用npm update
和npm-check-updates包来更新所有内容。我安装了所有对等依赖项。我的本地副本应与Docker中的副本一样干净。在Jenkinsfile中,我放入了npm list
,它显示了surface-nets
和file-saver
以及所有其他软件包。我还放了ls node_modules/
,可以看到其中的软件包文件夹。我已将Dockerfile减少到仅1行:FROM node:current
。
为什么在安装模块时说“找不到模块”?
解决方法
此问题的根本原因仍然未知,但是我确实发现该存储库已损坏。我最后擦除了整个远程仓库,然后git init
-新建了一个仓库,然后继续进行。我认为腐败助长了这里的问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。