Я пробую все способы создания реагирующего приложения. Я пробовал с maven, и теперь я пытаюсь использовать систему сборки приложений crate-response-app от инкубаторов Facebook.
Когда я попытался запустить команду create-react-app my-app
в среде npm, она работала в моей личной системе без проблем. Но когда я попробовал ту же команду в своей рабочей среде, я столкнулся с этой ошибкой в командной строке.
npm ERR! node v6.10.2
npm ERR! npm v3.10.10
npm ERR! code UNABLE_TO_GET_ISSUER_CERT_LOCALLY
npm ERR! unable to get local issuer certificate
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR! <https://github.com/npm/npm/issues>
sudo
когда бегалnpm install aws-sdk
. Бегsudo npm install aws-sdk
вызвал у меня эту ошибку.Ответы:
Быстрое решение из поиска в Интернете было
npm config set strict-ssl false
, к счастью, оно сработало. Но в рамках моей рабочей среды я ограничен установкой флага strict-ssl в значение false.Позже я нашел безопасное и рабочее решение,
это сработало отлично, и я получил сообщение об успехе
Happy Hacking!
, не установив для флага strict-ssl значение false.источник
sudo
когда я бегалnpm install aws-sdk
. Бегsudo npm install aws-sdk
вызвал у меня эту ошибку.npm config set strict-ssl false
и ,npm config set registry http://registry.npmjs.org/
но я все еще получаю ошибку при запуске ,sudo npm install aws-sdk
но когда я опустилsudo
часть и просто побежалnpm install aws-sdk
он работал.npm config set strict-ssl false
не работает. Я считаю, что это то, что командаnode.js
иnpm
команда должны изучить и задокументировать с надлежащей работой, если это не может быть исправлено для них.может происходить то, что ваша компания расшифровывает определенный трафик и повторно шифрует его с помощью своего сертификата (который, вероятно, уже есть в вашей цепочке ключей или доверенных корневых сертификатах)
если вы используете node 7 или более позднюю версию, я обнаружил, что это исправление совместимо с node и node-gyp (для Windows вам нужно сделать это по-другому, но вам просто нужно добавить эту переменную среды):
export NODE_EXTRA_CA_CERTS="absolute_path_to_your_certificates.pem"
(в Windows может потребоваться удалить кавычки - см. комментарии)файл pem может иметь несколько сертификатов: https://nodejs.org/api/cli.html#cli_node_extra_ca_certs_file
убедитесь, что ваши сертификаты находятся в правильном формате pem (вам нужны реальные разрывы строк, а не буквальные
\n
)Я не мог заставить его работать с относительными путями (
.
или~
)Это исправление в основном указывает npm и node-gyp использовать проверку по сравнению с обычными центрами сертификации, но также разрешает этот сертификат, когда он встречается.
В идеале вы могли бы использовать доверенные сертификаты вашей системы, но, к сожалению, это не так.
источник
Изменение URL-адреса репозитория NPM на HTTP работает как быстрое решение, но я хотел использовать HTTPS.
В моем случае прокси у моего работодателя (ZScaler) вызывал проблемы (поскольку он действует как MITM, вызывая проблемы с проверкой сертификата)
Я забыл, что нашел скрипт, который помогает с этим, и Git (для клонирования репозиториев GitHub через HTTPS была такая же проблема) и раздвоил его для моего использования
По сути, для git он делает следующее:
а для Node он добавляет
proxy=http://gateway.zscaler.net:80/
в конецc:\Users\$USERNAME\npm\.npmrc
Это решило проблему для меня.
источник
ip.zscaler.com
имя облака и укажите его в URL-адресе. Например: если там написано,zscalertwo.net
замените на следующий URL:gateway.zscalertwo.net
Опробовав все решения, которые удалось найти:
npm config set strict-ssl=false
npm config set registry http://registry.npmjs.org/
npm config set cafile /path/to/your/cert.pem
set NODE_TLS_REJECT_UNAUTHORIZED=0
Решение, которое, как мне кажется, сейчас работает лучше всего, - это использовать переменную среды NODE_EXTRA_CA_CERTS, которая расширяет существующие центры сертификации, а не заменяет их параметром cafile в вашем файле .npmrc. Вы можете установить его, введя это в свой терминал:
NODE_EXTRA_CA_CERTS=path/to/your/cert.pem
Конечно, установка этой переменной каждый раз может раздражать, поэтому я добавил ее в свой профиль bash, чтобы она устанавливалась каждый раз, когда я открываю терминал. Если у вас еще нет
~/.bash_profile
файла, создайте его. Затем в конце этого файла добавьтеexport NODE_EXTRA_CA_CERTS=path/to/your/cert.pem
. Затем удалите настройку cafile в своем .npmrc.источник
process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = 0;
Поверьте мне, это сработает для вас:
источник
Была такая же ошибка. Похоже, это связано с сертификатами SSL. Если вы используете NPM для общедоступных пакетов (безопасность HTTPS не требуется), вы можете отключить строгую проверку ключа SSL с помощью следующей команды.
Это может быть самое простое исправление, если вы просто хотите установить несколько общедоступных пакетов один раз.
источник
У меня была эта ошибка, когда я пытался обновить npm, но у меня была действительно старая версия (1.3.6!), Установленная из yum в AWS Linux. Мне удалось вручную установить более новую версию npm, и все было исправлено.
источник
Приведенный ниже код отлично работал у меня здесь, сделайте http только вместо https
источник
В моем случае в какой-то момент я установил свою глобальную конфигурацию на использование сертификата, предназначенного для проекта.
npm config list
Я открыл файл, удалил строку и
npm install
снова работал.источник
получил ошибку ниже
Команда ниже решила проблему:
источник