J'essaye toutes les manières de créer une application de réaction. J'ai essayé avec maven et maintenant j'essaye avec le système de construction crate-react-app de Facebook Incubators.
Lorsque j'ai essayé d'exécuter la commande create-react-app my-app
dans l'environnement npm, cela a fonctionné sur mon système personnel sans aucun problème. Mais lorsque j'ai essayé la même commande dans mon environnement de travail, j'ai rencontré cette erreur sur l'invite de commande
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
la source
la source
sudo
quand je couraisnpm install aws-sdk
. L'exécution asudo npm install aws-sdk
causé cette erreur pour moi.Réponses:
Une solution rapide de la recherche sur Internet était
npm config set strict-ssl false
, heureusement, cela a fonctionné. Mais dans le cadre de mon environnement de travail, je suis limité à définir l'indicateur strict-ssl sur false.Plus tard, j'ai trouvé une solution sûre et efficace,
cela a parfaitement fonctionné et j'ai reçu un message de réussite
Happy Hacking!
en ne définissant pas l'indicateur strict-ssl sur false.la source
sudo
lorsque je couraisnpm install aws-sdk
. L'exécution asudo npm install aws-sdk
causé cette erreur pour moi.npm config set strict-ssl false
etnpm config set registry http://registry.npmjs.org/
mais j'obtenais toujours l'erreur lors de l'exécution,sudo npm install aws-sdk
mais lorsque j'ai laissé tomber lasudo
pièce et que je l'ai juste exécutée,npm install aws-sdk
cela a fonctionné.npm config set strict-ssl false
ne fonctionne pas. Je pense que c'est quelque chose que l' équipenode.js
etnpm
devrait examiner et documenter avec un travail approprié s'il n'est pas réparable pour eux.ce qui peut se passer, c'est que votre entreprise déchiffre certains trafics et les re-crypte avec leur certificat (que vous avez probablement déjà dans votre trousseau ou certificats racine de confiance)
si vous utilisez le nœud 7 ou une version ultérieure, j'ai trouvé que ce correctif est compatible avec node et node-gyp (pour Windows, vous devrez le faire différemment, mais vous devez simplement ajouter cette variable d'environnement):
export NODE_EXTRA_CA_CERTS="absolute_path_to_your_certificates.pem"
(sous Windows, vous devrez peut-être supprimer les guillemets - voir les commentaires)le fichier pem peut avoir plusieurs certificats: https://nodejs.org/api/cli.html#cli_node_extra_ca_certs_file
assurez-vous que vos certificats sont au format pem approprié (vous avez besoin de vrais sauts de ligne et non littéraux
\n
)Je n'arrivais pas à le faire fonctionner avec des chemins relatifs (
.
ou~
)Ce correctif indique essentiellement à npm et node-gyp d'utiliser la vérification par rapport aux autorités de certification normales, mais autorise également ce certificat lorsqu'il le rencontre
Idéalement, vous pourrez utiliser les certificats de confiance de votre système, mais ce n'est malheureusement pas le cas.
la source
Changer l'URL du dépôt NPM en HTTP fonctionne comme une solution rapide, mais je voulais utiliser HTTPS.
Dans mon cas, le proxy chez mon employeur (ZScaler) causait des problèmes (car il agit comme un MITM, provoquant des problèmes de vérification de certification)
J'ai oublié que j'ai trouvé un script qui aide avec cela et Git (pour le clonage des dépôts GitHub via HTTPS avait le même problème) et je l'ai fourché pour mon utilisation
En gros, il fait ce qui suit pour git:
et pour Node, il ajoute
proxy=http://gateway.zscaler.net:80/
à la fin dec:\Users\$USERNAME\npm\.npmrc
Cela a résolu le problème pour moi.
la source
ip.zscaler.com
le nom du cloud et définissez-le dans l'URL. Par exemple: si cela dit,zscalertwo.net
remplacez-le par l'URL suivante:gateway.zscalertwo.net
Après avoir essayé toutes les solutions que j'ai pu trouver:
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
La solution qui semble fonctionner le mieux pour moi maintenant est d'utiliser la variable d'environnement NODE_EXTRA_CA_CERTS qui étend les autorités de certification existantes plutôt que de les remplacer par l'option cafile dans votre fichier .npmrc. Vous pouvez le paramétrer en le saisissant dans votre terminal:
NODE_EXTRA_CA_CERTS=path/to/your/cert.pem
Bien sûr, définir cette variable à chaque fois peut être ennuyeux, alors je l'ai ajoutée à mon profil bash afin qu'elle soit définie à chaque fois que j'ouvre le terminal. Si vous n'avez pas encore de
~/.bash_profile
fichier, créez-en un. Puis à la fin de ce fichier, ajoutezexport NODE_EXTRA_CA_CERTS=path/to/your/cert.pem
. Ensuite, supprimez le paramètre cafile dans votre .npmrc.la source
process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = 0;
Croyez-moi, cela fonctionnera pour vous:
la source
Eu la même erreur. On dirait que c'est lié aux certificats SSL. Si vous utilisez NPM pour des packages publics (vous n'avez pas besoin de la sécurité de HTTPS), vous pouvez désactiver la validation stricte de la clé SSL avec la commande suivante.
Cela pourrait être la solution la plus simple si vous cherchez simplement à installer une seule fois quelques packages disponibles publiquement.
la source
J'ai eu cette erreur lorsque j'ai essayé de mettre à jour npm, mais j'avais une version vraiment ancienne (1.3.6!) Installée à partir de yum dans AWS Linux. J'ai pu installer manuellement une version plus récente de npm et tout a été corrigé.
la source
Le code ci-dessous a parfaitement fonctionné pour moi ici ne faites que http uniquement à la place https
la source
Dans mon cas, à un moment donné, j'ai défini ma configuration globale pour utiliser un certificat destiné à un projet.
npm config list
J'ai ouvert le fichier, supprimé la ligne et
npm install
travaillé à nouveau.la source
obtenu l'erreur ci-dessous
La commande ci-dessous a résolu le problème:
la source