Вероятно, ошибка выглядит так:
npm ERR! code CERT_HAS_EXPIRED
npm ERR! errno CERT_HAS_EXPIRED
npm ERR! request to https://registry.npm.taobao.org/ylru/download/ylru-1.2.1.tgz failed, reason: certificate has expired
Это происходит, когда мы выполняем команду npm i или npm run xxx.
Что означает эта ошибка?
В сообщении говорится, что срок действия сертификата истек или пользовательский сертификат недействителен. При доступе и извлечении ссылки на библиотеку классов https://registry.npm.taobao.org/ylru/download/ylru-1.2.1.tgz появляется сетевой запрос. терпит неудачу.
Копируем эту ссылку и открываем ее прямо в браузере. Она также недоступна. (когда проблема возникает)
Это связано с истекшим сроком действия сертификата исходного сайта склада Taobao.
С 27 февраля 2017 г. npm больше не поддерживает самозаверяющие сертификаты или сертификаты с истекшим сроком действия.
На сайте склада Taobao использовался таможенный сертификат с истекшим сроком действия. Например, когда мы используем npm i для установки определенных библиотек классов, адрес библиотеки классов — https://registry.npm.taobao.org/ylru/download/ylru-1.2.1.tgz. В настоящее время npm не может проверить. источник, поэтому он выдает ошибку CERT_HAS_EXPIRED.
Как это решить?
Отключите проверку SSL:
npm config set strict-ssl false
Измените источник программного обеспечения, например, измените адрес источника программного обеспечения обратно на официальный сайт:
npm config set registry https://registry.npmjs.org/
Побочным эффектом этого изменения является то, что для обновления или установки библиотеки классов требуется лестница, и это нормально, если она у вас есть.
Почему бы не обеспечить совместимость вперед?
Не уверен, это всегда так.
В сообществе произошли некоторые изменения в правилах, которые являются фундаментальными изменениями и окажут фатальное влияние на ряд описанных выше программных построек.
использовать HTTPS соглашение, требование SSL Проверка, пользовательские незаконные сертификаты или сертификаты с истекшим сроком действия не поддерживаются.,Эти изменения связаны с требованиями безопасности.,не только npm Таким образом, такие браузеры, как Google, также внесли те же изменения в правила безопасности.
С развитием общества и развитием программного обеспечения подобные улучшения основных правил будут появляться и в будущем. Эти изменения будут иметь «разрушительное» влияние на существующее старое программное обеспечение. Последствием этого будет то, что если вы не измените код или конфигурацию, программное обеспечение больше не будет доступно. Невозможно запустить напрямую.
Стратегия преодоления также проста. Если что-то несовместимо с нами, то только мы с ним совместимы.