当我尝试在我的一个jenkins从属服务器上通过jenkins管道运行“ npm install”时出现此错误。但是我可以通过直接在该从属节点上运行此命令来成功安装。 这是我收到的错误消息:
14:10:11 > node-sass@4.13.0 install /var/jenkins_home/workspace/JenkinsBuild/node_modules/node-sass
14:10:11 > node scripts/install.js
14:10:11
14:10:11 Unable to save binary /var/jenkins_home/workspace/JenkinsBuild/node_modules/node-sass/vendor/linux-x64-72 : Error: EACCES: permission denied, mkdir '/var/jenkins_home/workspace/JenkinsBuild/node_modules/node-sass/vendor'
14:10:11 at Object.mkdirSync (fs.js:823:3)
14:10:11 at sync (/var/jenkins_home/workspace/JenkinsBuild/node_modules/mkdirp/index.js:71:13)
14:10:11 at Function.sync (/var/jenkins_home/workspace/JenkinsBuild/node_modules/mkdirp/index.js:77:24)
14:10:11 at checkAndDownloadBinary (/var/jenkins_home/workspace/JenkinsBuild/node_modules/node-sass/scripts/install.js:114:11)
14:10:11 at Object.<anonymous> (/var/jenkins_home/workspace/JenkinsBuild/node_modules/node-sass/scripts/install.js:157:1)
14:10:11 at Module._compile (internal/modules/cjs/loader.js:956:30)
14:10:11 at Object.Module._extensions..js (internal/modules/cjs/loader.js:973:10)
14:10:11 at Module.load (internal/modules/cjs/loader.js:812:32)
14:10:11 at Function.Module._load (internal/modules/cjs/loader.js:724:14)
14:10:11 at Function.Module.runMain (internal/modules/cjs/loader.js:1025:10) {
14:10:11 errno: -13,
14:10:11 syscall: 'mkdir',
14:10:11 code: 'EACCES',
14:10:11 path: '/var/jenkins_home/workspace/JenkinsBuild/node_modules/node-sass/vendor'
14:10:11 }
所以我该如何解决这个问题
答案 0 :(得分:0)
您可以发送代码吗?
如果有帮助,我个人通常会执行以下操作(脚本语法) (您需要安装nodejs插件:https://wiki.jenkins.io/display/JENKINS/NodeJS+Plugin)
在文件夹“ Build”上签出我的仓库,然后:
stage ("build") {
dir('Build') {
env.NODEJS_HOME = "${tool 'Node 12.12'}"
env.PATH="${env.NODEJS_HOME}/bin:${env.PATH}"
sh 'npm install'
sh 'npm run someScript'
sh 'npm pack'
}
}