===== Настройка сборки ===== На примере Teamcity # Частный репозиторий npm config set registry="https://nexus-ci.example.com/repository/project-npm/" npm config set //nexus-ci.example.com/repository/project-npm/:username=%nexus_username% npm config set //nexus-ci.example.com/repository/project-npm/:_password=%nexus_password% # Игнор кривого SSL-сертификата npm config set strict-ssl false # Скачать зависимости npm install --verbose https://docs.npmjs.com/cli/v11/configuring-npm/npmrc#auth-related-configuration ===== Ошибки ===== ==== Self-signed certificate in certificate chain ==== Сборка надолго зависает и заканчивается ошибкой, зависимости не скачиваются, в логах ругань на кривой SSL-сертификат. Решение (при отсутствии более правильного) npm config set strict-ssl false https://stackoverflow.com/questions/9626990/receiving-error-error-ssl-error-self-signed-cert-in-chain-while-using-npm ==== Unable to authenticate, need: BASIC realm="Sonatype Nexus Repository Manager" ==== Невозможно скачать модули из Нексуса, ошибка HTTP 401. npm ERR! code E401 npm ERR! Unable to authenticate, need: BASIC realm="Sonatype Nexus Repository Manager" Решение: поменять ''username'' и ''_password'' на ''_auth''. repo='nexus.example.com/repository/project-npm' npmbin='%teamcity.tool.node-20.14.0%/bin/npm' # Get modules $npmbin config set registry="https://$repo/" $npmbin config set //$repo/:_auth=$(echo -n "%nexus_username%:%nexus_password%" |base64) $npmbin config set strict-ssl false $npmbin install --verbose