Ich versuche alle Möglichkeiten, um eine Reaktionsanwendung zu erstellen. Ich habe es mit Maven versucht und jetzt versuche ich es mit einem Crate-React-App-Build-System von Facebook Incubators.
Als ich versuchte, den Befehl create-react-app my-app
in einer npm-Umgebung auszuführen , funktionierte er auf meinem persönlichen System ohne Probleme. Aber als ich den gleichen Befehl in meiner Arbeitsumgebung ausprobiert habe, ist dieser Fehler an der Eingabeaufforderung aufgetreten
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>
node.js
reactjs
npm
create-react-app
Dinesh
quelle
quelle
sudo
wenn ich ranntenpm install aws-sdk
. Laufensudo npm install aws-sdk
hat diesen Fehler für mich verursacht.Antworten:
Eine schnelle Lösung aus der Internetsuche war
npm config set strict-ssl false
, zum Glück hat es funktioniert. Als Teil meiner Arbeitsumgebung kann ich jedoch das Flag strict-ssl auf false setzen.Später fand ich eine sichere und funktionierende Lösung,
Dies funktionierte perfekt und ich erhielt eine Erfolgsmeldung,
Happy Hacking!
indem ich das strict-ssl-Flag nicht auf false setzte.quelle
sudo
wenn ich ranntenpm install aws-sdk
. Laufensudo npm install aws-sdk
hat diesen Fehler für mich verursacht.npm config set strict-ssl false
undnpm config set registry http://registry.npmjs.org/
habe immer noch den Fehler beim Laufen bekommen,sudo npm install aws-sdk
aber als ich dassudo
Teil fallen ließ und es einfach lief, hatnpm install aws-sdk
es funktioniert.npm config set strict-ssl false
funktioniert nichts anderes als die Einstellung von nicht. Ich fühle das ist etwas , dasnode.js
undnpm
Team in und Dokument mit einer richtigen Arbeit aussehen soll um , wenn es nicht fixierbar für sie ist.Möglicherweise entschlüsselt Ihr Unternehmen bestimmten Datenverkehr und verschlüsselt ihn erneut mit seinem Zertifikat (das Sie wahrscheinlich bereits in Ihrem Schlüsselbund oder in vertrauenswürdigen Stammzertifikaten haben).
Wenn Sie Node 7 oder höher verwenden, habe ich festgestellt, dass dieses Update mit Node und Node-Gyp kompatibel ist (für Windows müssen Sie dies anders machen, aber Sie müssen im Grunde nur diese Umgebungsvariable hinzufügen):
export NODE_EXTRA_CA_CERTS="absolute_path_to_your_certificates.pem"
(In Windows müssen Sie möglicherweise die Anführungszeichen entfernen - siehe Kommentare)Die PEM-Datei kann mehrere Zertifikate haben: https://nodejs.org/api/cli.html#cli_node_extra_ca_certs_file
Stellen Sie sicher, dass Ihre Zertifikate im richtigen PEM-Format vorliegen (Sie benötigen echte Zeilenumbrüche, nicht wörtlich
\n
).Ich konnte es scheinbar nicht dazu bringen, mit relativen Pfaden zu arbeiten (
.
oder~
)Dieser Fix weist npm und node-gyp grundsätzlich an, die Prüfung für die regulären Zertifizierungsstellen zu verwenden, dieses Zertifikat jedoch auch zuzulassen, wenn es darauf stößt
Idealerweise können Sie die vertrauenswürdigen Zertifikate Ihres Systems verwenden, dies ist jedoch leider nicht der Fall.
quelle
Das Ändern der NPM-Repo-URL in HTTP funktioniert als schnelle Lösung, aber ich wollte HTTPS verwenden.
In meinem Fall verursachte der Proxy bei meinem Arbeitgeber (ZScaler) Probleme (da er als MITM fungiert und Probleme bei der Überprüfung der Zertifizierung verursacht).
Ich habe vergessen, dass ich ein Skript gefunden habe , das dabei hilft, und Git (zum Klonen von GitHub-Repos über HTTPS hatte das gleiche Problem) und habe es für meine Verwendung gegabelt
Grundsätzlich macht es Folgendes für git:
und für Node wird
proxy=http://gateway.zscaler.net:80/
das Ende von hinzugefügtc:\Users\$USERNAME\npm\.npmrc
Das hat das Problem für mich gelöst.
quelle
ip.zscaler.com
den Cloud-Namen und legen Sie diesen in der URL fest. Beispiel: Wenn es heißt,zscalertwo.net
ersetzen Sie es durch die folgende URL:gateway.zscalertwo.net
Nachdem ich jede Lösung ausprobiert hatte, die ich finden konnte:
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
Die Lösung, die jetzt für mich am besten zu funktionieren scheint, besteht darin, die Umgebungsvariable NODE_EXTRA_CA_CERTS zu verwenden, die die vorhandenen Zertifizierungsstellen erweitert, anstatt sie durch die Option cafile in Ihrer .npmrc-Datei zu ersetzen. Sie können dies einstellen, indem Sie dies in Ihr Terminal eingeben:
NODE_EXTRA_CA_CERTS=path/to/your/cert.pem
Natürlich kann es ärgerlich sein, diese Variable jedes Mal festzulegen. Deshalb habe ich sie meinem Bash-Profil hinzugefügt, damit sie bei jedem Öffnen des Terminals festgelegt wird. Wenn Sie noch keine
~/.bash_profile
Datei haben, erstellen Sie eine. Dann am Ende dieser Datei hinzufügenexport NODE_EXTRA_CA_CERTS=path/to/your/cert.pem
. Entfernen Sie dann die Cafile-Einstellung in Ihrer .npmrc.quelle
process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = 0;
Vertrauen Sie mir, das wird für Sie funktionieren:
quelle
Hatte den gleichen Fehler. Sieht so aus, als ob es sich um SSL-Zertifikate handelt. Wenn Sie NPM für öffentliche Pakete verwenden (benötigen Sie nicht die Sicherheit von HTTPS), können Sie die strikte SSL-Schlüsselüberprüfung mit dem folgenden Befehl deaktivieren.
Dies ist möglicherweise die einfachste Lösung, wenn Sie nur einige öffentlich verfügbare Pakete einmal installieren möchten.
quelle
Ich hatte diesen Fehler, als ich versuchte, npm zu aktualisieren, aber eine wirklich alte Version (1.3.6!) Von yum in AWS Linux installiert hatte. Ich konnte eine neuere npm-Version manuell installieren und alles wurde behoben.
quelle
Der folgende Code hat bei mir perfekt funktioniert. Machen Sie hier nur http statt https
quelle
In meinem Fall habe ich irgendwann meine globale Konfiguration so eingestellt, dass ein Zertifikat verwendet wird, das für ein Projekt bestimmt ist.
npm config list
Ich öffnete die Datei, entfernte die Zeile und
npm install
arbeitete erneut.quelle
habe den folgenden Fehler erhalten
Der folgende Befehl hat das Problem behoben:
quelle