2017-08-25 30 views
5

Tôi đang thử tất cả các cách tạo ứng dụng phản ứng. Tôi đã thử với maven và bây giờ tôi đang cố gắng với crate-phản ứng-ứng dụng xây dựng hệ thống từ Facebook Incubators.npm ERR! mã UNABLE_TO_GET_ISSUER_CERT_LOCALLY

Khi tôi cố gắng chạy lệnh create-react-app my-app trong môi trường npm, nó hoạt động trên hệ thống cá nhân của tôi mà không có vấn đề gì. Nhưng khi tôi đã thử lệnh tương tự trong môi trường làm việc của mình, tôi đã gặp phải lỗi này trên dấu nhắc lệnh

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> 

Trả lời

18

Tôi đã tìm kiếm trên Internet này và đã thử tất cả các tùy chọn. Nhưng không may mắn với các giải pháp. Cuối cùng tôi đã đi qua npm config set strict-ssl false, may mắn là nó hoạt động. Nhưng đây không phải là cách chính xác để làm, như tôi đã được trên môi trường làm việc của tôi và tôi nên được hạn chế để thiết lập cờ ssl sai.

Sau đó tôi tìm thấy một giải pháp an toàn và hoạt động.

npm config set registry http://registry.npmjs.org/ 

hoạt động này hoàn hảo và tôi nhận được thông báo thành công Happy Hacking! bằng cách không đặt bất kỳ cờ ssl sai nào. Hi vọng điêu nay co ich!

+0

Tôi cũng vậy, chỉ cần hoàn nguyên về việc sử dụng phiên bản HTTP của kho lưu trữ NPM (thay vì https://registry.npmjs.org/), vì proxy công việc của tôi đã gây ra sự cố (vì nó hoạt động như một MITM, gây ra chứng nhận các vấn đề xác minh) Một ngày nào đó tôi sẽ tìm ra vấn đề về chứng chỉ, nhưng tôi chỉ cần tải xuống một gói, dang nó! –

+0

nó cũng làm việc cho tôi. Rất cám ơn @Dinesh – dimyo

+0

Tôi nghĩ, tôi đã có cài đặt này nhưng khi nhìn kỹ hơn, tôi có https thay vì http (https://registry.npmjs.org/). Đã thay đổi thành http và nó hoạt động. –

0

Thay đổi URL repo NPM thành HTTP hoạt động như một bản sửa lỗi nhanh, nhưng tôi muốn sử dụng HTTPS.

Trong trường hợp của tôi, proxy lúc chủ nhân của tôi (ZScaler) đã gây ra vấn đề (vì nó đóng vai trò như một MITM, gây sự cố xác minh chứng nhận)

Tôi quên tôi found a script giúp với điều này và Git (đối với nhân bản GitHub Repos qua HTTPS có cùng một vấn đề) và forked it for my use

về cơ bản, nó sau cho git:

git config --global http.proxy http://gateway.zscaler.net:80/ 
git config --system http.proxy http://gateway.zscaler.net:80/ 

và cho Node, nó bổ sung thêm proxy=http://gateway.zscaler.net:80/ đến hết c:\Users\$USERNAME\npm\.npmrc

Điều đó giải quyết được vấn đề cho tôi.

0

những gì đang có khả năng xảy ra là công việc của bạn giải mã lưu lượng nhất định và tái mã hóa nó với giấy chứng nhận của họ (mà bạn có thể đã có trong keychain của bạn hoặc các chứng chỉ gốc tin cậy)

nếu bạn đang sử dụng nút 7 hay muộn tôi đã tìm thấy sửa chữa này để tương thích với nút và nút-đầy tớ trường trung học (đối với Windows, bạn sẽ cần phải làm điều này cách khác nhau, nhưng về cơ bản bạn chỉ cần thêm biến môi trường này):

export NODE_EXTRA_CA_CERTS="absolute_path_to_your_certificates.pem"

file pem thể có nhiều chứng chỉ: https://nodejs.org/api/cli.html#cli_node_extra_ca_certs_file

đảm bảo chứng chỉ của bạn ở định dạng pem thích hợp (bạn cần dòng thực phá vỡ không đen \n)

tôi dường như không thể có được nó để làm việc với . hoặc ~ đường

sửa chữa này về cơ bản nói npm và nút-gyp để sử dụng kiểm tra đối với các CA thông thường, nhưng cũng cho phép chứng chỉ này khi nó đi qua nó

Lý tưởng nhất là bạn có thể sử dụng chứng chỉ đáng tin cậy của hệ thống, nhưng không may là điều này không đúng.

Các vấn đề liên quan