Saya mencoba semua cara membuat aplikasi react. Saya telah mencoba dengan maven dan sekarang saya mencoba dengan sistem pembuatan aplikasi crate-react dari Facebook Incubators.
Ketika saya mencoba menjalankan perintah create-react-app my-app
di lingkungan npm, itu berfungsi pada sistem pribadi saya tanpa masalah. Tetapi ketika saya mencoba perintah yang sama di lingkungan kerja saya, saya mengalami kesalahan ini pada prompt perintah
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
sumber
sumber
sudo
saat saya berlarinpm install aws-sdk
. Menjalankansudo npm install aws-sdk
menyebabkan kesalahan ini bagi saya.Jawaban:
Solusi cepat dari pencarian internet adalah
npm config set strict-ssl false
, untungnya itu berhasil. Tetapi sebagai bagian dari lingkungan kerja saya, saya dibatasi untuk menyetel bendera strict-ssl ke false.Kemudian saya menemukan solusi yang aman dan berfungsi,
ini bekerja dengan sempurna dan saya mendapat pesan sukses
Happy Hacking!
dengan tidak menyetel flag strict-ssl ke false.sumber
sudo
saat berlarinpm install aws-sdk
. Menjalankansudo npm install aws-sdk
menyebabkan kesalahan ini bagi saya.npm config set strict-ssl false
dannpm config set registry http://registry.npmjs.org/
tetapi saya masih mendapatkan kesalahan saat menjalankansudo npm install aws-sdk
tetapi ketika saya menjatuhkansudo
bagian dan menjalankannyanpm install aws-sdk
berfungsi.npm config set strict-ssl false
tidak berfungsi. Saya merasa ini adalah sesuatu yang harus dilihat dan didokumentasikan oleh timnode.js
dannpm
tim dengan penyelesaian yang tepat jika tidak dapat diperbaiki untuk mereka.yang mungkin terjadi adalah perusahaan Anda mendekripsi lalu lintas tertentu dan mengenkripsinya kembali dengan sertifikat mereka (yang mungkin sudah Anda miliki di rantai kunci atau sertifikat dasar tepercaya)
jika Anda menggunakan node 7 atau yang lebih baru, saya telah menemukan perbaikan ini agar kompatibel dengan node dan node-gyp (untuk Windows Anda harus melakukan ini secara berbeda, tetapi pada dasarnya Anda hanya perlu menambahkan variabel lingkungan ini):
export NODE_EXTRA_CA_CERTS="absolute_path_to_your_certificates.pem"
(di Windows Anda mungkin perlu menghapus tanda kutip - lihat komentar)file pem dapat memiliki banyak sertifikat: https://nodejs.org/api/cli.html#cli_node_extra_ca_certs_file
pastikan sertifikat Anda dalam format pem yang tepat (Anda perlu jeda baris yang sebenarnya, bukan literal
\n
)Sepertinya saya tidak bisa membuatnya bekerja dengan jalur relatif (
.
atau~
)Perbaikan ini pada dasarnya memberi tahu npm dan node-gyp untuk menggunakan pemeriksaan terhadap CA biasa, tetapi juga mengizinkan sertifikat ini ketika menemukannya
Idealnya, Anda dapat menggunakan sertifikat tepercaya sistem Anda, tetapi sayangnya tidak demikian.
sumber
Mengubah URL repo NPM ke HTTP berfungsi sebagai perbaikan cepat, tetapi saya ingin menggunakan HTTPS.
Dalam kasus saya, proxy di perusahaan saya (ZScaler) menyebabkan masalah (karena berfungsi sebagai MITM, menyebabkan masalah verifikasi sertifikasi)
Saya lupa saya menemukan skrip yang membantu dengan ini dan Git (untuk mengkloning repo GitHub melalui HTTPS memiliki masalah yang sama) dan mem - forknya untuk saya gunakan
Pada dasarnya, ini melakukan hal berikut untuk git:
dan untuk Node, ditambahkan
proxy=http://gateway.zscaler.net:80/
ke akhirc:\Users\$USERNAME\npm\.npmrc
Itu memecahkan masalah saya.
sumber
ip.zscaler.com
nama cloud dan setel di URL. Misal: jika tertuliszscalertwo.net
maka ganti dengan URL berikut:gateway.zscalertwo.net
Setelah mencoba setiap solusi, saya dapat menemukan:
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
Solusi yang tampaknya bekerja paling baik untuk saya sekarang adalah dengan menggunakan variabel lingkungan NODE_EXTRA_CA_CERTS yang memperluas CA yang ada daripada menggantinya dengan opsi cafile di file .npmrc Anda. Anda dapat mengaturnya dengan memasukkan ini di terminal Anda:
NODE_EXTRA_CA_CERTS=path/to/your/cert.pem
Tentu saja, mengatur variabel ini setiap saat dapat mengganggu, jadi saya menambahkannya ke profil bash saya sehingga akan diatur setiap kali saya membuka terminal. Jika Anda belum memiliki
~/.bash_profile
file, buatlah. Kemudian di akhir file itu tambahkanexport NODE_EXTRA_CA_CERTS=path/to/your/cert.pem
. Kemudian, hapus pengaturan cafile di .npmrc Anda.sumber
process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = 0;
Percayalah, ini akan berhasil untuk Anda:
sumber
Punya kesalahan yang sama. Sepertinya ini terkait dengan sertifikat SSL. Jika Anda menggunakan NPM untuk paket publik (tidak memerlukan keamanan HTTPS), Anda dapat menonaktifkan validasi kunci SSL ketat dengan perintah berikut.
Ini mungkin perbaikan paling sederhana jika Anda hanya ingin menginstal beberapa paket yang tersedia untuk umum satu kali.
sumber
Saya mengalami kesalahan ini ketika saya mencoba memperbarui npm, tetapi memiliki versi yang sangat lama (1.3.6!) Diinstal dari yum di AWS Linux. Saya dapat menginstal versi npm yang lebih baru secara manual dan semuanya telah diperbaiki.
sumber
Kode di bawah bekerja untuk saya dengan sempurna di sini membuat http hanya sebagai gantinya https
sumber
Dalam kasus saya, pada titik tertentu saya menetapkan konfigurasi global saya untuk menggunakan sertifikat yang dimaksudkan untuk sebuah proyek.
npm config list
Saya membuka file, menghapus baris dan
npm install
bekerja lagi.sumber
mendapat kesalahan di bawah ini
Perintah di bawah ini memecahkan masalah:
sumber