Ошибка: EACCES: разрешение отклонено, mkdir '/.npm' - PullRequest
0 голосов
/ 13 июня 2019

Я пытался запустить локальный конвейер Jenkins, используя Jenkinsfile для приложения nodejs, используя node: 6-alpine image (по умолчанию), используя сценарий build.sh, использующий вызов npm install, затем я получил следующую ошибку разрешения

нпм ERR! Ошибка: EACCES: разрешение отклонено, mkdir '/.npm' нпм ERR! по ошибке (родной) нпм ERR! {Ошибка: EACCES: разрешение отклонено, mkdir '/.npm' нпм ERR! по ошибке (родной) нпм ERR! ошибка: -13, нпм ERR! код: 'EACCES', нпм ERR! системный вызов: 'mkdir', нпм ERR! путь: '/.npm', нпм ERR! parent: 'my-app'} нпм ERR! нпм ERR! Пожалуйста, попробуйте снова запустить эту команду как root / Administrator.

Docker версия 18.09.6, сборка 481bc77 Дженкинс работает локально

Я пытался установить sudo npm, но та же ошибка. Я также пытался изменить образ docker argv для -u root: sudo -p 3000: 3000 та же ошибка

Jenkins file image: 
pipeline {
    agent {
        docker {
            image 'node:6-alpine'
            args '-p 3000:3000'
        }
        environment {
            HOME = '.'
        }
    }

скрипт build.sh sudo npm install --unsafe-perm = true --allow-root

Сообщение об ошибке: npm ERR! Ошибка: EACCES: разрешение отклонено, mkdir '/.npm'

Ожидаемый результат: создать Docker-контейнер с открытым портом 3000 и приложением nodejs на локальном хосте: 3000

Фактический результат: ошибка разрешения внутри контейнера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...