作为Jenkins工作阶段的一部分,我试图在AWS上部署Angular项目。长话短说,我先运行一些测试,然后使用npm run build:serverless:deploy
部署项目。当我在本地计算机上执行此操作时,项目部署就没有任何问题。但是,当我在Jenkins上构建时,会出现以下错误:
Cannot find module 'webpack/lib/removeAndDo'
Error: Cannot find module 'webpack/lib/removeAndDo'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:582:15)
at Function.Module._load (internal/modules/cjs/loader.js:508:25)
at Module.require (internal/modules/cjs/loader.js:637:17)
at require (internal/modules/cjs/helpers.js:22:18)
at Object.<anonymous> (C:\Users\[me]\.jenkins\workspace\AngularAwardInterfacePipeline\node_modules\extract-text-webpack-plugin\ExtractedModule.js:30:42)
我尝试修改npm install
选项,但似乎得到了相同的结果。我尝试了以下方法:
-npm install
-npm install --save
-npm install npm install -g @angular/cli@latest
我的Jenkinsfile看起来像这样:
pipeline {
agent any
stages {
stage('One') {
steps {
echo 'Hi, you have reached the first step'
}
}
stage('Two') {
steps {
sh 'npm install --save'
}
}
stage('Three') {
steps {
sh 'ng test --watch=false'
}
}
stage('Four') {
steps {
sh 'npm run build:serverless:deploy'
}
}
stage('Five') {
steps {
echo 'Done with tests'
}
}
}
}
我认为由于某些依赖项冲突而导致遇到此错误(这就是为什么我尝试修改npm install
的原因),但是不确定如何解决此问题。