jenkins部署前端項目打包時報錯npm ERR! code ELIFECYCLE
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! normalproduct@1.0.0 test: `cross-env NODE_ENV=production env_config=test node build/build.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the normalproduct@1.0.0 test script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2021-07-12T19_43_15_621Z-debug.log
Build step 'Execute shell' marked build as failure
Finished: FAILURE
jenkins在部署的時候突然就報錯這樣子的信息,百度說這樣子是緩存的原因,於是清除緩存,刪除node_modules和package-lock.json。就在命令里面添加了以下代碼,結果還是不行...
rm -rf node_modules //強制刪除包
rm package-lock.json //刪除這個文件
npm cache clear --force //清除緩存
npm install //安裝初始化項目
繼續找問題,部署其他項目都沒報錯,就唯獨部署這一個項目報錯,所以鎖定就是這個項目的問題,問了同事也沒有更新依賴和配置什么的。就只是最近的一次提交部署就報錯了。我嘗試部署很早以前拉的一個分支居然不報錯,部署成功了。那么就鎖定到了肯定是最新這個分支代碼有什么問題導致的,但是本地打包是沒問題的,而且本地手動部署到服務器也是完全沒問題的。這樣子我們打包沒問題,jenkins服務器打包有問題那么是不是兩個系統的問題呢,可能是某些兼容的問題呢。
最后我看了最新的提交代碼,一行一行的比對,最后找到問題了!!! 真是不負有心人啊....
居然是引入文件大小寫的問題,就是一個路由引入文件的時候寫的小寫字母,但是文件名是大寫字母。把這個修改好了就沒問題了,最后猜想是不是linux系統對大小寫是強制規定的,而我們電腦的系統對大小寫是沒有強制的呀。
也不知道猜想對不對,但確實解決了這個問題。