npm không hoạt động - ăn đọc ECONNRESET


164

Tôi đang gặp vấn đề với npm, tôi không thể cài đặt bất cứ thứ gì. Đây là thông báo lỗi:

C:\Windows\system32>npm install -g yo
npm http GET https://registry.npmjs.org/yo
npm http GET https://registry.npmjs.org/yo
npm http GET https://registry.npmjs.org/yo
npm ERR! network read ECONNRESET
npm ERR! network This is most likely not a problem with npm itself
npm ERR! network and is related to network connectivity.
npm ERR! network In most cases you are behind a proxy or have bad network settin
gs.
npm ERR! network
npm ERR! network If you are behind a proxy, please make sure that the
npm ERR! network 'proxy' config is set properly.  See: 'npm help config'

npm ERR! System Windows_NT 6.2.9200
npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nod
ejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "-g" "yo"
npm ERR! cwd C:\Windows\system32
npm ERR! node -v v0.10.17
npm ERR! npm -v 1.3.8
npm ERR! syscall read
npm ERR! code ECONNRESET
npm ERR! errno ECONNRESET
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     C:\Windows\system32\npm-debug.log
npm ERR! not ok code 0

Bất cứ ý tưởng tại sao điều này là? Đây là cài đặt mạng của tôi và có vẻ như tôi không có cấu hình proxy nào. Tôi cũng vô hiệu hóa tất cả các tường lửa.

nhập mô tả hình ảnh ở đây


Bạn có thể truy cập trang này trong sổ đăng ký trình duyệt.npmjs.org/yo không?
thefourtheye

Có vẻ như chứng chỉ SSL của họ đã hết hạn!
Kushagra Gourmet

@thefourtheye Có, tôi có thể truy cập liên kết đó
Omar

npm không cài đặt gì cả. Vấn đề này không độc quyền trong việc cài đặt express
Omar

Bạn có thể cần kiểm tra C: \ Windows \ system32 \ npm-debug.log, tệp này sẽ có thông tin chính xác hơn để giải quyết vấn đề của bạn.
Nanda Kumar

Câu trả lời:


326

sử dụng

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

để npm yêu cầu httpurl thay vì https.

và sau đó thử cùng một npm installlệnh


19
bạn có thể vui lòng cung cấp một số lời giải thích, nó sẽ rất hữu ích.
Rishul Matta

31
"Sửa chữa" này dễ bị tấn công giữa chừng. Tôi sẽ không sử dụng nó cho sản xuất.
thesmart

3
Vấn đề có thể dễ dàng là bạn đang bị chặn bởi trang web / proxy của ISP hoặc ISP của bạn. Sử dụng phương pháp trên nhanh hơn và dễ dàng hơn nhưng cũng không an toàn vì nó không xác minh bạn được kết nối với đúng trang web. Để kiểm tra xem bạn có bị chặn hay không, chỉ cần truy cập registry.npmjs.org trong trình duyệt của bạn. Bạn sẽ nhận được một số văn bản trở lại.
Marlon

1
haha .... tôi đã cố gắng vượt qua điều này trong nhiều tháng. Tôi vừa mới vô hiệu hóa VPN, lấy các gói, sau đó đăng nhập lại. Cảm ơn vì điều đó. Tất cả những vấn đề khác, đơn giản là địa chỉ / cổng proxy của bạn bị sai hoặc (trong trường hợp này) proxy của bạn không được định cấu hình để lắng nghe lưu lượng HTTPS.
voidzero

1
Tôi biết nó có thể không an toàn nhưng thôi nào - Tôi đã KIẾM MỌI THỨ để thoát khỏi lỗi ECONNRESET trong khi tạo ứng dụng 4 góc mới thông qua Angular CLI và giải pháp đó chỉ hoạt động. Sau khi tạo dự án mới, bạn có thể chuyển về https. Dù sao đi nữa, @mithuneditesh cảm ơn bạn một lần nữa.
sinh2fr4g

38

Bạn có thể muốn kiểm tra cài đặt proxy NPM của mình và có thể xóa nó.

npm config get proxy
npm config rm proxy
npm config rm https-proxy

Mọi người có thể mong đợi một bản cài đặt mới của NodeJS + NPM sẽ không có cấu hình proxy. Thật kỳ lạ, tôi đã đi kèm với một proxy được xác định, chỉ vào một IP và cổng 3128. Loại bỏ proxy đã thực hiện thủ thuật.


Tôi đã cố gắng cài đặt jquery trong dự án Angular bằng cách sử dụng cmd - npm install jquery Nhưng có một lỗi proxy hiện đã được khắc phục khi thử giải pháp này.
Mohammed Amen

15

Bạn cũng có thể cần chỉ định máy chủ / cổng proxy, trong một số môi trường, cài đặt hệ thống cho proxy không đủ để npm hoạt động.

    npm config set proxy "http://your-proxy.com:80"

11

Xóa cài đặt proxy của bạn ở nhà và bật tại các mạng Office, Điều này có thể gây khó chịu, nhưng nó hoạt động với tôi:

npm config set proxy http://xxx.xxx.xxx.4:8080   
npm config set https-proxy http://xxx.xxx.xxx.4:8080

npm config rm proxy   
npm config rm https-proxy

Bit cuối cùng hoạt động với tôi - Tôi đã kiểm tra tệp .npmrc của mình và proxy https cũ vẫn còn đó sau khi xóa proxy
Jayx 17/03/2016

Điều này đang hoạt động nhưng làm thế nào để hủy cấu hình hoặc cấu hình lại thành mặc định, bất cứ khi nào đi đến mạng khác với proxy ngoài ??
DV Yogesh

9

Điều này có thể được gây ra bằng cách cài đặt bất cứ thứ gì với npm bằng cách sử dụng sudo- điều này khiến các tệp trong bộ đệm được sở hữu bởi root, dẫn đến vấn đề này. Bạn có thể sửa nó bằng cách chạy:

sudo rm -rf ~/.npm

để xóa bộ nhớ cache. Sau đó thử bất cứ điều gì bạn đang làm lại, đảm bảo bạn không bao giờ sử dụng sudocùng với npm(hoặc vấn đề có thể quay trở lại).

Nhiều thông tin hơn: npm ném lỗi mà không sudo


quên mất việc cần nâng lên Quản trị viên để thực hiện npm -g update(như tôi đã làm để cài đặt nó). Cảm ơn.
George

6
Làm thế nào điều này gây ra ECONNRESET, chính xác? Bạn đúng sudocó thể phá vỡ mọi thứ theo những cách mới lạ, nhưng khiến máy chủ đăng ký bị ngắt kết nối thì hơi khó tin.
zigg


3

Ba điều để làm cho npm hoạt động tốt trong mạng proxy.

Bộ này đăng ký npm, Theo mặc định, nó có thể mất https.

cấu hình npm thiết lập sổ đăng ký " http://registry.npmjs.org/ "

Thứ hai là hai bộ proxy trong hệ thống của bạn. Nếu tổ chức của bạn sử dụng proxy hoặc bạn.

cấu hình npm đặt proxy " http: // tên người dùng: password @ proxy-url: proxy-port "

cấu hình npm đặt https-proxy " http: // tên người dùng: password @ proxy-url: proxy-port "

Bạn cũng có thể kiểm tra xem chúng có được đặt hay không, bởi

cấu hình npm nhận https-proxy

cho tất cả các giá trị.


Nó không hiển thị cho tôi bất kỳ lỗi nào, nhưng cài đặt bị kẹt tại dòng - loadRequestedDeps: sill cài đặt loadAllDepsIntoIdealTree
RSB

Đây là một vấn đề khác. Vấn đề proxy của bạn đã được giải quyết. Có thể điều này ngắn gọn stackoverflow.com/questions
40874237 /

2

Tôi đã thử hầu hết tất cả các phương pháp được đăng ở đây và trong các trang khác nhưng không hiệu quả. Dưới đây là các lệnh tôi đã thực hiện theo thứ tự, tôi khuyến khích bạn thử vì nó hiệu quả với nhiều người (nhưng không phải cho tôi):

  • npm config rm proxy
  • npm config rm https-proxy
  • npm config set https-proxy https://username:password@proxy.company.com:6050
  • npm config set proxy http://username:password@proxy.company.com:6050
  • npm config set registry http://registry.npmjs.org/

Và sau đó cố gắng cài đặt gói npm install -g express, nhưng nó đã thất bại.

Tuy nhiên, khi tôi cố chạy npm install npm@latest -gnó thì thực thi một cách kỳ diệu và cài đặt tốt!
Sau đó chạy npm install -g expresslại làm việc hoàn toàn tốt quá.

TL; DR : cập nhật npm lên phiên bản mới nhất đã giải quyết được vấn đề (hiện là 6.0.1)


1

Trong công việc, tôi phải tải lên trình duyệt của mình và duyệt một trang web (xác thực tôi với bộ lọc web của chúng tôi). Sau đó, tôi đã thử lại lệnh và nó đã làm việc thành công.


2
Không chắc chắn 100% nếu đây là những gì đã giúp tôi, hoặc chỉ là một sự trùng hợp ngẫu nhiên, nhưng điều hướng đến registry.npmjs.org trong Firefox bằng cách nào đó đã giúp npm cài đặt công việc vào lần tiếp theo. Tôi không có bất kỳ loại phần mềm lọc web nào.
TalkLittle

1

Đây là một câu hỏi cũ, nhưng dù sao.

Tôi gặp vấn đề này, khi tôi đang cố gắng triển khai lên heroku và cách khắc phục hiệu quả với tôi là cập nhật npmphiên bản đã sử dụng. Tôi đã có phiên bản 2.xx và tôi đã cập nhật lên 3.xx


1

Bạn cũng có thể gặp phải lỗi này nếu bạn có mã thông báo mang đã lưu hiện không hợp lệ. Tôi đã gặp phải điều này khi sử dụng repo riêng nơi tài khoản bị xóa và đặt lại, làm mất hiệu lực mã thông báo. Mặc dù repo của bạn có thể không yêu cầu xác thực, nhưng nếu bạn có mã thông báo từ lần đăng nhập trước thì nó sẽ được thông qua và nếu nó không hợp lệ, kết nối của bạn sẽ bị đóng.

Bạn có thể giải quyết vấn đề này bằng cách đăng nhập lại bằng tên người dùng và mật khẩu mới, hoặc có lẽ chỉ bằng cách đăng xuất qua npm.


1

Tôi không muốn chuyển sang http để đăng ký, điều làm việc cho tôi là hạ cấp từ phiên bản Node mới nhất sang phiên bản LTS (tính đến thời điểm hiện tại, 6.x).


1

Tôi đã có vấn đề với npm ném lỗi này.

Vì vậy, về cơ bản bất cứ khi nào lỗi được ném, tôi đều sử dụng cài đặt thủ công
từ git hoặc chờ và cài đặt phiên bản được chỉ định như:

npm install resolve@^1.1.6

khi chạy một mình:

npm install resolve

đã không làm việc.

Tôi đã cập nhật node.js từ 7 đến 8 và cài đặt npm diễn ra suôn sẻ.

Tôi nghĩ rằng có lẽ phiên bản 7 đã gây ra sự cố này vì @luschn đã hạ cấp xuống 6 nên anh ấy cũng không sử dụng 7.

Có thể bản thân sổ đăng ký đang trả lại lỗi mà không hiển thị sự cố trên các trang trạng thái của họ vì sau một thời gian tôi có thể cài đặt gói phá vỡ này và sau đó tiến hành npm installcài đặt phần còn lại.


1

Tôi đã có cùng một vấn đề trên mạng gia đình địa phương của tôi mà không có proxy. Các câu trả lời khác trong chủ đề này không làm việc cho tôi. Điều cuối cùng tôi làm là sử dụng yarncó thể thay thế cho nhau bằng npm:

yarn add

Cho đến hôm nay tôi không biết tại sao npm của tôi vẫn không hoạt động. Tôi biết chắc chắn rằng đó là sự cố với Wi-Fi của mình, vì khi tôi kết nối với Internet LTE được phát từ điện thoại thông minh của tôi sẽ npm installhoạt động trở lại. Nó có thể có liên quan đến cài đặt bộ định tuyến (vấn đề bắt đầu khi tôi nâng cấp tốc độ internet và nhân viên ISP đã thay thế bộ định tuyến cũ bằng bộ định tuyến mới).


1

Tôi gặp vấn đề tương tự khi thử chạy npmtrên hệ thống được mô phỏng trong Oracle VirtualBox . Tôi đã giải quyết nó bằng cách thêm địa chỉ DNS của Google trong thuộc tính Bộ điều hợp mạng.

Thuộc tính bộ điều hợp mạng> Thuộc tính IPv4> Địa chỉ DNS ưa thích : 8.8.8.8.


1

Tôi đã có cùng một vấn đề nhưng không có giải pháp nào trong số này hoạt động chính xác. Cuối cùng, tôi đã cài đặt các gói thông qua sợi , tương thích với npm. Theo trang web chính thức:

Di chuyển từ npm nên là một quá trình khá dễ dàng đối với hầu hết người dùng. Sợi có thể sử dụng định dạng pack.json giống như npm và có thể cài đặt bất kỳ gói nào từ sổ đăng ký npm.

Chỉ cần cài đặt sợi và sau đó, chạy cài đặt bằng cách sử dụng lệnh sau, tương đương với npm installtrong sợi:

yarn install

Đọc thêm tại Sợi Sợi: Di ​​chuyển từ npm .


1

npm config rm proxy

npm config rm https-proxy

làm việc cho tôi


1

Tôi gặp vấn đề tương tự trong windows khi cài đặt bất kỳ gói nào từ npm. Đã sửa lỗi đó với - ** nhắc lệnh mở với tư cách quản trị viên và chạy 3 lệnh này ** /

1. proxy cấu hình npm

2. npm config rm https-proxy

3. npm cài đặt npm @ mới nhất -g

CHO MAC / LINUX
1. sudo npm config rm proxy

2. sudo npm config rm https-proxy

3. sudo npm cài đặt npm @ mới nhất -g

Về cơ bản đây là phiên bản isuue với npm. Vui lòng kiểm tra sự lo lắng của nó



1

Tường lửa công ty của chúng tôi sẽ ngừng cài đặt nút do đó kết nối với mạng cá nhân và cài đặt, nó hoạt động với tôi.


1

Tôi thấy "npm config edit" hữu ích hơn để cập nhật các mục cho https-proxy, proxy, đăng ký

Tôi đã làm một cái gì đó như thế này

  • danh sách cấu hình npm
  • chỉnh sửa cấu hình npm (mở bằng vi)
  • Chỉnh sửa hoặc đặt các mục cấu hình cho https-proxy, proxy, đăng ký
  • cài đặt npm

1

Chỉ trong trường hợp ... chỉ đơn giản là cố gắng thêm một lần nữa làm việc cho tôi. Nó chỉ có thể là một vấn đề kết nối tạm thời.


1

Nếu bạn đang sử dụng Windows, bạn nên theo dõi Cài đặt hệ thống nâng cao để kiểm tra các vv env được khai báo ở đó, bạn sẽ nhận thấy rằng cấu hình proxy có thể nằm trong các biến môi trường, như trong hình dưới đây:

Windows env vars

Vì vậy, nếu máy chủ proxy của bạn không có sẵn hoặc đang chặn lưu lượng truy cập từ npm, bạn có thể nhận thấy lỗi đã nói ở trên trong chủ đề này. Có thể bạn không cần bất kỳ proxy nào cả, trong trường hợp này, chỉ cần loại bỏ các biến env HTTP_PROXY này.

Tôi đã tắt tất cả các cấu hình proxy trong cài đặt Windows và npm của mình, tuy nhiên, npm vẫn bị lỗi thời gian chờ và kết nối trong khi tải xuống tài nguyên, sau đó tôi nhận ra rằng vẫn còn một cấu hình proxy còn lại trên các biến env, điều này gây ra tất cả sự cố.



Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.