Estou tentando todas as maneiras de criar um aplicativo de reação. Eu tentei com o maven e agora estou tentando com o sistema de compilação crate-react-app do Facebook Incubators.
Quando tentei executar o comando create-react-app my-app
no ambiente npm, ele funcionou no meu sistema pessoal sem problemas. Mas quando tentei o mesmo comando no meu ambiente de trabalho, encontrei este erro no prompt de comando
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
fonte
fonte
sudo
quando corrinpm install aws-sdk
. A execuçãosudo npm install aws-sdk
causou esse erro para mim.Respostas:
Uma solução rápida de busca na internet foi
npm config set strict-ssl false
, felizmente funcionou. Mas, como parte do meu ambiente de trabalho, estou restrito a definir o sinalizador strict-ssl como falso.Mais tarde, encontrei uma solução segura e funcional,
funcionou perfeitamente e recebi uma mensagem de sucesso
Happy Hacking!
ao não definir o sinalizador strict-ssl como falso.fonte
sudo
quando corrianpm install aws-sdk
. A execuçãosudo npm install aws-sdk
causou esse erro para mim.npm config set strict-ssl false
enpm config set registry http://registry.npmjs.org/
ainda estava recebendo o erro durante a execução,sudo npm install aws-sdk
mas quando deixei cair asudo
peça e apenas executeinpm install aws-sdk
funcionou.npm config set strict-ssl false
não funciona. Acho que isso é algo que a equipenode.js
enpm
deve examinar e documentar com uma solução alternativa adequada, se não for possível corrigir para eles.o que pode estar acontecendo é que sua empresa descriptografa determinado tráfego e o criptografa novamente com seu certificado (que você provavelmente já tem em seu keychain ou certificados raiz confiáveis)
se você estiver usando o node 7 ou posterior, descobri que essa correção é compatível com node e node-gyp (para Windows, você precisará fazer isso de forma diferente, mas basicamente só precisa adicionar esta variável de ambiente):
export NODE_EXTRA_CA_CERTS="absolute_path_to_your_certificates.pem"
(no Windows, pode ser necessário remover as aspas - veja os comentários)o arquivo pem pode ter vários certificados: https://nodejs.org/api/cli.html#cli_node_extra_ca_certs_file
certifique-se de que seus certificados estão no formato pem adequado (você precisa de quebras de linha reais, não literais
\n
)Não consegui fazer funcionar com caminhos relativos (
.
ou~
)Essa correção basicamente diz ao npm e ao node-gyp para usar a verificação nas CAs regulares, mas também permite esse certificado quando ele se depara
Idealmente, você poderia usar os certificados confiáveis do seu sistema, mas infelizmente não é o caso.
fonte
Alterar a URL do repositório NPM para HTTP funciona como uma solução rápida, mas eu queria usar HTTPS.
No meu caso, o proxy do meu empregador (ZScaler) estava causando problemas (pois atua como um MITM, causando problemas de verificação de certificação)
Esqueci que encontrei um script que ajuda com isso e Git (para clonar repositórios GitHub via HTTPS teve o mesmo problema) e bifurcou-o para meu uso
Basicamente, ele faz o seguinte para git:
e para Node, adiciona
proxy=http://gateway.zscaler.net:80/
ao final dec:\Users\$USERNAME\npm\.npmrc
Isso resolveu o problema para mim.
fonte
ip.zscaler.com
o nome da nuvem e defina-o na URL. Por exemplo: se disserzscalertwo.net
, substitua pelo seguinte URL:gateway.zscalertwo.net
Depois de experimentar todas as soluções que pude encontrar:
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
A solução que parece estar funcionando melhor para mim agora é usar a variável de ambiente NODE_EXTRA_CA_CERTS que estende os CAs existentes ao invés de substituí-los pela opção cafile em seu arquivo .npmrc. Você pode defini-lo digitando isto em seu terminal:
NODE_EXTRA_CA_CERTS=path/to/your/cert.pem
Claro, definir essa variável todas as vezes pode ser irritante, então eu adicionei ao meu perfil do bash para que seja definida toda vez que eu abrir o terminal. Se você ainda não tem um
~/.bash_profile
arquivo, crie um. Então, no final desse arquivo, adicioneexport NODE_EXTRA_CA_CERTS=path/to/your/cert.pem
. Em seguida, remova a configuração cafile em seu .npmrc.fonte
process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = 0;
Acredite em mim, isso vai funcionar para você:
fonte
Teve o mesmo erro. Parece que está relacionado a certificados SSL. Se você estiver usando NPM para pacotes públicos (não precisa da segurança de HTTPS), você pode desligar a validação de chave SSL estrita com o seguinte comando.
Esta pode ser a correção mais simples se você estiver apenas tentando instalar alguns pacotes disponíveis publicamente uma vez.
fonte
Eu tive este erro quando tentei atualizar o npm, mas tinha uma versão muito antiga (1.3.6!) Instalada do yum no AWS Linux. Consegui instalar manualmente uma versão mais recente do npm e tudo foi corrigido.
fonte
O código abaixo funcionou perfeitamente para mim aqui, faça http apenas em vez de https
fonte
No meu caso, em algum momento eu defini minha configuração global para usar um certificado destinado a um projeto.
npm config list
Abri o arquivo, retirei a linha e
npm install
trabalhei novamente.fonte
obteve o erro abaixo
O comando abaixo resolveu o problema:
fonte