【问题标题】:Jenkins: npm EACCES: permission denied詹金斯:npm EACCES:权限被拒绝
【发布时间】:2018-04-04 05:12:08
【问题描述】:

我有以下一个简单的sudo npm install,它在 EACCESS 错误中不断失败:

我已经在服务器上尝试了以下:

sudo chown -R jenkins /var/lib/jenkins/workspace/
sudo setfacl -R -m user:jenkins:rwx /var/lib/jenkins/workspace

但不幸的是,似乎没有任何效果。

很想听听一些关于可能导致问题的建议。

谢谢

【问题讨论】:

标签: node.js jenkins


【解决方案1】:

在我的例子中,这个问题在构建时与 docker 图像一起出现。 我必须设置 npm_config_cache=npm-cacheHOME=. 环境变量,以便 npm 使用当前目录进行构建。

Jenkins 文件:

docker.withRegistry('https://my_registry/', 'docker_user') {
    docker.image('node-agent:node-14').inside {
        withEnv([
            /* Override the npm cache directory */
            /* Reset Home dir */
            'npm_config_cache=npm-cache',
            'HOME=.',
        ]) {
            stage('NPM Build') {
                sh "rm -rf node_modules || true" // removing node_modules if existing.
                sh 'npm install'
                sh 'npm run build'
            }
        }
    }
}

【讨论】:

    【解决方案2】:

    看起来您的问题不是重复的,但是人们在安装 node-sass 时遇到了问题。

    解决您的特定问题的最简单方法是:

    sudo npm install --unsafe-perm node-sass
    

    【讨论】:

      【解决方案3】:

      实际上,帮助我在 Ubuntu Linux 上使用具有 sudo 权限的 Jenkins 是以下命令:

      sudo chown -R jenkins folderName
      sudo setfacl -R -m user:jenkins:rwx folderName
      

      您还需要浏览到 Ubuntu 中的 Jenkins 安装位置

      /var/lib/jenkins/workspace
      

      假设您在 Home 文件夹中,您将不得不下降两个级别。

      cd ..
      cd ..
      

      然后

      cd /var/lib/jenkins/workspace
      

      然后

      sudo chown -R jenkins folderName
      sudo setfacl -R -m user:jenkins:rwx folderName
      

      这解决了我的“以 root 身份运行 jenkins”问题。

      【讨论】:

        【解决方案4】:

        .npm-global 更新为正确的所有者。我在使用 Jenkins 进行部署时遇到了类似的问题。 .npm-global 文件夹所有者是 Jenkins,但其下的所有子文件夹都以 root 作为所有者。然后我使用以下命令更改了所有者

        sudo chown -R ubuntu:ubuntu .npm-global
        

        【讨论】:

          猜你喜欢
          • 2018-05-25
          • 2017-03-26
          • 1970-01-01
          • 2012-06-08
          • 2014-08-25
          • 2020-01-08
          • 1970-01-01
          • 2019-10-28
          • 1970-01-01
          相关资源
          最近更新 更多