Подтвердить что ты не робот

Npm добавить корневой центр сертификации

Я ищу способ добавления настраиваемого CA в NPM, чтобы я мог загружаться из местоположения, используя указанный сертификат (внутренний git -сервер), не требуя проверки всей CA-проверки с помощью

npm config set strict-ssl false

Есть ли способ достичь этого или нет? (если нет: есть ли дефект?)

4b9b3361

Ответ 1

Вы можете указать npm в cafile

npm config set cafile /path/to/cert.pem

Вы также можете настроить ca строка (строки) непосредственно.

npm config set ca "cert string"

ca может быть массивом строк сертификата. В вашем .npmrc:

ca[]="cert 1 base64 string"
ca[]="cert 2 base64 string"

Приведенные выше команды npm config сохранят соответствующие элементы конфигурации в вашем файле ~/.npmrc:

cafile=/path/to/cert.pem

Примечание: эти настройки CA будут переопределять стандартные поиски центра сертификации в реальном мире, которые использует npm. Если вы попытаетесь использовать любые публичные реестры npm через https, которые не подписаны вашим сертификатом CA, вы получите ошибки.

Если вам нужна поддержка как общедоступных реестров https npm, так и ваших собственных, вы можете использовать свернутый пакет CA на основе Mozilla и добавить свой сертификат CA в файл cacert.pem. К сожалению, пакет npm CA не редактируется, как это предусмотрено в исходном коде (спасибо mekwi).

Примечание RHEL: Если вы используете дистрибутив на основе RHEL и упакованный узел RHEL jj/npm, вы можете использовать стандартный метод update-ca-trust поскольку RedHat направляет свои пакеты в ЦС системы.

Ответ 2

Если Matts Answer вам не помогает, $env:NODE_EXTRA_CA_CERTS=path/to/certificate.pem; npm install $env:NODE_EXTRA_CA_CERTS=path/to/certificate.pem; npm install у меня работала в Windows Powershell.