npm ERR cb () không bao giờ được gọi


274

Tôi có một ứng dụng Node.js được lưu trữ trên Heroku. Mỗi lần tôi làm, git push herokutôi nhận được một lỗi sau:

Counting objects: 14, done.
Delta compression using up to 6 threads.
Compressing objects: 100% (12/12), done.
Writing objects: 100% (12/12), 1.20 KiB, done.
Total 12 (delta 8), reused 0 (delta 0)

-----> Node.js app detected
-----> Resolving engine versions
       Using Node.js version: 0.6.20
       Using npm version: 1.2.12
-----> Fetching Node.js binaries
-----> Vendoring node into slug
-----> Installing dependencies with npm
       npm http GET https://registry.npmjs.org/pg/0.6.15
       npm http GET https://registry.npmjs.org/socket.io
       npm http 200 https://registry.npmjs.org/pg/0.6.15
       npm http GET https://registry.npmjs.org/pg/-/pg-0.6.15.tgz
       npm http 200 https://registry.npmjs.org/socket.io
       npm http GET https://registry.npmjs.org/socket.io/-/socket.io-0.9.13.tgz
       npm http 200 https://registry.npmjs.org/pg/-/pg-0.6.15.tgz
       npm http 200 https://registry.npmjs.org/socket.io/-/socket.io-0.9.13.tgz
       npm http GET https://registry.npmjs.org/socket.io-client/0.9.11
       npm http GET https://registry.npmjs.org/policyfile/0.0.4
       npm http GET https://registry.npmjs.org/base64id/0.1.0
       npm http GET https://registry.npmjs.org/redis/0.7.3
       npm http GET https://registry.npmjs.org/generic-pool/1.0.9
       npm http 200 https://registry.npmjs.org/policyfile/0.0.4
       npm http GET https://registry.npmjs.org/policyfile/-/policyfile-0.0.4.tgz

       npm http 200 https://registry.npmjs.org/base64id/0.1.0
       npm http GET https://registry.npmjs.org/base64id/-/base64id-0.1.0.tgz
       npm http 200 https://registry.npmjs.org/generic-pool/1.0.9
       npm http GET https://registry.npmjs.org/generic-pool/-/generic-pool-1.0.9
.tgz
       npm http 200 https://registry.npmjs.org/socket.io-client/0.9.11
       npm http GET https://registry.npmjs.org/socket.io-client/-/socket.io-clie
nt-0.9.11.tgz
       npm http 200 https://registry.npmjs.org/redis/0.7.3
       npm http GET https://registry.npmjs.org/redis/-/redis-0.7.3.tgz
       npm http 200 https://registry.npmjs.org/policyfile/-/policyfile-0.0.4.tgz

       npm http 200 https://registry.npmjs.org/base64id/-/base64id-0.1.0.tgz
       npm http 200 https://registry.npmjs.org/generic-pool/-/generic-pool-1.0.9
.tgz
       npm http 200 https://registry.npmjs.org/socket.io-client/-/socket.io-clie
nt-0.9.11.tgz
       npm http 200 https://registry.npmjs.org/redis/-/redis-0.7.3.tgz

       > pg@0.6.15 install /tmp/build_36us8733h7kkr/node_modules/pg
       > node-waf configure build || (exit 0)

       Checking for program g++ or c++          : /usr/bin/g++
       Checking for program cpp                 : /usr/bin/cpp
       Checking for program ar                  : /usr/bin/ar
       Checking for program ranlib              : /usr/bin/ranlib
       Checking for g++                         : ok
       Checking for node path                   : not found
       Checking for node prefix                 : ok /tmp/node-node-nNUw
       Checking for program pg_config           : /usr/bin/pg_config
       'configure' finished successfully (0.058s)
       Waf: Entering directory `/tmp/build_36us8733h7kkr/node_modules/pg/build'
       [1/2] cxx: src/binding.cc -> build/Release/src/binding_1.o
       [2/2] cxx_link: build/Release/src/binding_1.o -> build/Release/binding.no
de
       Waf: Leaving directory `/tmp/build_36us8733h7kkr/node_modules/pg/build'
       'build' finished successfully (0.492s)
       npm http GET https://registry.npmjs.org/uglify-js/1.2.5
       npm http GET https://registry.npmjs.org/ws
       npm http GET https://registry.npmjs.org/xmlhttprequest/1.4.2
       npm http GET https://registry.npmjs.org/active-x-obfuscator/0.0.1
       npm http 200 https://registry.npmjs.org/active-x-obfuscator/0.0.1
       npm http GET https://registry.npmjs.org/active-x-obfuscator/-/active-x-ob
fuscator-0.0.1.tgz
       npm http 200 https://registry.npmjs.org/uglify-js/1.2.5
       npm http GET https://registry.npmjs.org/uglify-js/-/uglify-js-1.2.5.tgz
       npm http 200 https://registry.npmjs.org/xmlhttprequest/1.4.2
       npm http GET https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1
.4.2.tgz
       npm http 200 https://registry.npmjs.org/ws
       npm http GET https://registry.npmjs.org/ws/-/ws-0.4.25.tgz
       npm http 200 https://registry.npmjs.org/active-x-obfuscator/-/active-x-ob
fuscator-0.0.1.tgz
       npm http 200 https://registry.npmjs.org/uglify-js/-/uglify-js-1.2.5.tgz
       npm http 200 https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1
.4.2.tgz
       npm http 200 https://registry.npmjs.org/ws/-/ws-0.4.25.tgz
       npm http GET https://registry.npmjs.org/zeparser/0.0.5
       npm http GET https://registry.npmjs.org/commander
       npm http GET https://registry.npmjs.org/tinycolor
       npm http GET https://registry.npmjs.org/options
       npm http 200 https://registry.npmjs.org/zeparser/0.0.5
       npm http GET https://registry.npmjs.org/zeparser/-/zeparser-0.0.5.tgz
       npm http 200 https://registry.npmjs.org/options
       npm http GET https://registry.npmjs.org/options/-/options-0.0.3.tgz
       npm http 200 https://registry.npmjs.org/tinycolor
       npm http GET https://registry.npmjs.org/tinycolor/-/tinycolor-0.0.1.tgz
       npm http 200 https://registry.npmjs.org/commander
       npm http GET https://registry.npmjs.org/commander/-/commander-0.6.1.tgz
       npm http 200 https://registry.npmjs.org/zeparser/-/zeparser-0.0.5.tgz
       npm http 200 https://registry.npmjs.org/options/-/options-0.0.3.tgz
       npm http 200 https://registry.npmjs.org/tinycolor/-/tinycolor-0.0.1.tgz
       npm http 200 https://registry.npmjs.org/commander/-/commander-0.6.1.tgz

       > ws@0.4.25 install /tmp/build_36us8733h7kkr/node_modules/socket.io/node_
modules/socket.io-client/node_modules/ws
       > (node-gyp rebuild 2> builderror.log) || (exit 0)

       make: Entering directory `/tmp/build_36us8733h7kkr/node_modules/socket.io
/node_modules/socket.io-client/node_modules/ws/build'
         CXX(target) Release/obj.target/bufferutil/src/bufferutil.o
         SOLINK_MODULE(target) Release/obj.target/bufferutil.node
         SOLINK_MODULE(target) Release/obj.target/bufferutil.node: Finished
         COPY Release/bufferutil.node
         CXX(target) Release/obj.target/validation/src/validation.o
         SOLINK_MODULE(target) Release/obj.target/validation.node
         SOLINK_MODULE(target) Release/obj.target/validation.node: Finished
         COPY Release/validation.node
       make: Leaving directory `/tmp/build_36us8733h7kkr/node_modules/socket.io/
node_modules/socket.io-client/node_modules/ws/build'
       npm ERR! cb() never called!
       npm ERR! not ok code undefined
       npm ERR! cb() never called!
       npm ERR! not ok code 1
 !     Failed to install --production dependencies with npm
 !     Heroku push rejected, failed to compile Node.js app

To git@heroku.com:still-chamber-1286.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@heroku.com:still-chamber-1286.git'

Lỗi là ở một vài dòng cuối: npm ERR! cb () không bao giờ được gọi! npm ERR! không ok mã không xác định npm ERR! cb () không bao giờ được gọi! npm ERR! không ok mã 1! Không thể cài đặt phụ thuộc - sản xuất với npm! Heroku đẩy bị từ chối, không thể biên dịch ứng dụng Node.js

To git@heroku.com:still-chamber-1286.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@heroku.com:still-chamber-1286.git'

Tôi không gặp vấn đề gì với việc đẩy mã của mình sang Heroku trước đó; chỉ từ thứ hai tôi đã có lỗi này.

Tôi đã thấy các bài viết tương tự trên web đề cập đến các lỗi hơi khác nhau, nhưng chưa từng thấy một bài nào ! [remote rejected] master -> master (pre-receive hook declined)trước đó.


Tôi cũng gặp lỗi tương tự khi đẩy ứng dụng nút của mình lên heroku hôm nay:! [remote rejected] master -> master (pre-receive hook declined)
smithclay 13/03/13

6
Kỳ lạ thay, thêm "engines": { "node": "0.8.x" }để tôi package.jsonsửa lại lỗi đó cho tôi.
smithclay

Nó làm việc, thanks a lot :) Mặc dù cần lưu ý rằng tôi đã có "engines": { "node": "0.6.x" }trong package.json, tôi chỉ đơn giản là phải thay đổi nó từ 0.6.xđến0.8.x
Louise K

1
Hiện tại có một vấn đề mở về lỗi này với npm và nút 0.10.0: github.com/isaacs/npm/issues/2907
JCM 15/03/13

2
Tôi đã tự sửa lỗi này bằng cách cập nhật npm ( $> npm install -g npm) vì tôi nhận được cảnh báo rằng các gói dự kiến ​​sẽ có phiên bản cao hơn của nó trong đầu ra của giao diện điều khiển.
racl101

Câu trả lời:


312

Nếu bạn có phiên bản npm 5 trở lên, hãy thử điều này trước:

$ sudo npm cache verify

Nếu không thì:

$ sudo npm cache clean

Phiên bản nút và npm của tôi là:

$ node -v
v0.10.0

$ npm -v
1.2.14

https://docs.npmjs.com/cli/cache


1
Cách giải quyết đã giúp, nhưng với cùng một lỗi nhưng trong quá trình cài đặt mô-đun (grunt-contrib-yuidoc), cảm ơn.
Wiseman

Đây không phải là giải pháp cho các hoạt động địa phương và không phải trên Heroku? Đối với Heroku giải pháp này dường như không hoạt động.
Valentyn Shybanov

10
Ừ Tôi đã cố gắng đề xuất một chỉnh sửa cho câu trả lời này nhưng rõ ràng phải có ít nhất 6 ký tự. Dù sao, nó phải là cleankhông clear. npmjs.org/doc/cache.html
Tyler Hayes

Đã gặp lỗi này sau khi xây dựng tiện ích mở rộng gốc postgres, rm -fr $ HOME / .node-gyp thực hiện thủ thuật.
Giovanni Toraldo

2
npm cache cleanlàm việc cho tôi khi tôi liên tục chuyển đổi giữa các cơ quan đăng ký npm khác nhau.
qmmr

141

Đối với bất kỳ ai truy cập trang này vào khoảng ngày 29 tháng 9 năm 2013, có một lỗi đã đóng trong Node.js 0.10.19 gây ra lỗi này.

https://github.com/isaacs/npm/issues/2907#issuecomment-15215278 https://github.com/joyent/node/issues/6263#issuecomment-25113849

Nếu bạn đang ở Heroku, bạn nên nâng cấp lên 0.10.20

"engines": {
    "node": "0.10.20"
}

40
Ngày 29 tháng 9? Đây có phải là lỗi từ tương lai? :) Cảm ơn giải pháp!
JBCP

1
Cảm ơn! Chắc chắn những gì tôi đang tìm kiếm
Kyle Hotchkiss

3
Bạn đăng từ tương lai! Đây thực sự là một lỗi nghiêm trọng. ; /
juanpaco

2
45 upvote (tại thời điểm viết bài này) trong khoảng 22 giờ :) Rực rỡ khi bạn đăng một câu trả lời mới và hiện tại cho một câu hỏi cũ nhưng tương tự. Internet đá!
đáp ứng

1
Tôi đã có lỗi rất lớn ngày hôm qua và cài đặt lại nút ngày hôm nay (ngày 1 tháng 10) và nó hoạt động trở lại - nó dường như đã được sửa trong v0.10.20. Cảm ơn chủ đề này, đã tiết kiệm cho tôi rất nhiều thời gian.
dirkk0



23

Bạn có một phiên bản cụ thể "npm"được chỉ định "engines"trong của bạn package.json? Âm thanh như NPM v1.2.15 đã giải quyết vấn đề (và Heroku đã có sẵn). Tôi đã nhận được cùng một vấn đề với "1.1.x".


Tuyệt diệu. Điều đó đã làm tôi khó chịu. Chỉ định phiên bản npm của tôi và nó hoạt động như một bùa mê.
Eric H.

20
NẾU BẠN ĐANG Ở TẠI AUSTIN, TX, HÃY CHO TÔI MUA PIZZA! Tôi xin lỗi vì tất cả các mũ, nhưng nó nắm bắt được trạng thái vui mừng hiện tại của tôi là kết quả của câu trả lời của bạn. Tôi sẽ không bao giờ nghi ngờ rằng có đặc tả phiên bản cho NPM là thủ phạm. Aidan, tôi hy vọng bạn có một ngày tuyệt vời.
juanpaco

1
@juanpaco, bạn vui quá.
Daniel

Yeach Tôi xóa trang tính "động cơ" này khỏi gói.json và nó hoạt động :)
Kamil Kiełczewski

23

QUAN TRỌNG! Giải pháp dưới đây hiện được coi là không ổn định và bạn nên sử dụng Quản lý phiên bản nút thay thế: Trình quản lý phiên bản nút trên Github . David Walsh cũng có một giới thiệu tốt về NVM . NVM hoạt động rất đẹp và tôi đã sử dụng nó để quản lý các dự án WordPress cũ trong một vài năm.


Vui lòng không sử dụng cái này - sử dụng NVM

Tôi chỉ gặp vấn đề này chính xác khi cố gắng cài đặt chủ đề Sage cho WordPress. Khi tôi chạy npm installtrên thư mục chủ đề, nó đã thất bại.

Nhìn vào các phụ thuộc trong package.json, tôi có thể thấy rằng công cụ tôi đang chạy cho Node đã lỗi thời. Chạy node -vtrên dòng lệnh cho thấy tôi đã ở phiên bản v0.10.9 và phiên bản mới nhất của Sage yêu cầu> = 0.12.0

Vì vậy, đây là sửa chữa cho điều đó. Các bước này là từ blog của David Walsh

  1. Xóa bộ nhớ cache npm của bạn: sudo npm cache clean -f
  2. Cài đặt phiên bản mới nhất của trình trợ giúp Node: sudo npm install -g n
  3. Nói với người trợ giúp (n) để cài đặt phiên bản ổn định mới nhất của Node: sudo n stable

Sau đó, bạn sẽ nhận được một màn hình tiến độ, sau đó bạn sẽ được cập nhật.

Khi tôi chạy npm installsau khi làm điều này, mọi thứ đều hoạt động tốt và tôi đã có thể chạy gulpđể xây dựng distthư mục ban đầu .


Bước 2 cũng nên sudo npm install -g nnhư vậy.
Mauro Vanetti

Theo liên kết nguồn của bạn, giải pháp này là "không ổn định" và Trình quản lý phiên bản Node tốt hơn github.com/nvm-sh/nvm/blob/master/README.md
PJ Brunet

Cảm ơn những người đứng đầu - Tôi sẽ cập nhật bài viết cho phù hợp
raffjones


13

Nếu bạn đã cập nhật cli góc, npm, nút, bạn không cần phải làm gì thêm. Chỉ cần chạy lệnh dưới đây để giải quyết vấn đề. Lệnh này cũng giải quyết vấn đề "kết thúc dòng bất ngờ".

npm install --no-package-lock

chạy lệnh này trong cùng một không gian làm việc nơi bạn đang làm việc.
chetan shah

11

Cập nhật NodeJS https://nodejs.org/vi/ của tôi.

Chạy npm install -g npm&npm cache clean


Đúng. Trên thực tế nó làm việc theo cách này cho tôi. Đầu tiên tôi cập nhật Node của mình và chạy các lệnh đó. Có thể là một cách khác để làm cho nó hoạt động. Hy vọng nó sẽ giúp được ai đó.
Srinivas

1
Cảm ơn bạn rất nhiều :) Đây phải là câu trả lời được chấp nhận
Solution Spirit

9

Tôi đã có cùng một vấn đề trong khi cài đặt ionic@beta. Tôi đã thử các mục sau đây và chúng không giúp tôi.

  1. npm cache clean
  2. Xóa thủ công bộ đệm từ %temp%\npm-*
  3. Dấu nhắc lệnh "Chạy với tư cách quản trị viên"

Tôi đã giải quyết vấn đề bằng cách cài đặt nút-v5.10.1-x64.msi (Phiên bản trước là nút-v5.9.0-x64.msi) và chạy một npm cache clean trước khi cài đặtionic@beta

Nó đã làm việc!


2
Điều này làm việc cho tôi, cảm ơn! Phải là một cái gì đó sai với 5.9.x.
Nick George

Cài đặt nút có thể đã cài đặt một npm mới, đây có thể là nguyên nhân khiến việc này hoạt động như một bản sửa lỗi.
mikemaccana

8

Tôi gặp vấn đề tương tự với NPM phiên bản 1.3.11 và đã giải quyết nó đơn giản bằng cách chạy lại chính xác cùng một lệnh nhiều lần ("npm update -g" trong trường hợp của tôi). Lỗi xuất hiện cho một gói khác nhau trong mỗi lần chạy tiếp theo và cuối cùng mọi thứ được cập nhật thành công.

Đối với tôi ít nhất, có vẻ như nó đã được gây ra bởi một sự cố mạng (tải xuống bị hỏng). Tôi cũng đã nhận được một lỗi về một gói không hợp lệ, mà tôi có thể giải quyết bằng cách xóa tất cả các trường hợp của "tmp.tgz".

Chỉnh sửa: (Có thể không liên quan, nhưng trong trường hợp điều này giúp được bất kỳ ai: Tôi đang sử dụng Windows và bắt đầu một dấu nhắc lệnh với tư cách Quản trị viên sau khi nhận được lỗi ban đầu).


1
Kể từ khi đăng bài này, tôi đã thấy rất nhiều người nói rằng họ đã có cùng trải nghiệm trên Unix và Mac (nhiều lần thử cuối cùng đã bỏ qua vấn đề này). Không biết vấn đề có liên quan đến mạng hay không, nhưng nó có vẻ phổ biến.
Sven Viking

Rõ ràng lỗi này hiện đã được sửa trong v0.10.20: blog.nodejs.org/2013/09/30/node-v0-10-20- ổn định
Sven Viking

8

Đối với tôi không có giải pháp nào ở trên hoạt động (cài đặt lại, xóa bộ nhớ cache, thư mục, v.v.).

Vấn đề của tôi đã được giải quyết với:

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

5

sudo npm cache cleanđã không làm việc cho tôi. Cập nhật lên phiên bản mới nhất của nút giúp.

Tôi đã có nút v.5.91 và cập nhật lên v6.9.1


1
có vẻ như là một vấn đề trở lại, tôi đã gặp vấn đề tương tự với 10.15.0 và 11.6.0, và tôi đã phải hạ cấp 9.11.2, nó đã hoạt động.
CsBalazsHungary

5

Đối với tôi trên npm 6.4.0và nút 10.9.0không có câu trả lời nào hoạt động. Nút cài đặt lại, npm, bộ nhớ cache đã xóa, thư mục đã xóa ...

Sau khi gỡ lỗi, hóa ra tôi đã sử dụng npm linkhai mô-đun đang phát triển để liên kết với nhau. Khi tôi gỡ bỏ và làm lại một số liên kết, tôi có thể làm cho nó hoạt động trở lại.


4

Có vẻ như các phiên bản phụ thuộc cụ thể có thể gây ra vấn đề này. Ví dụ: gulp-uglifycss 1.0.7 có vấn đề này (xem https://github.com/rezzza/gulp-uglifycss/issues/15 ).

Nếu bạn đang cho phép cập nhật phiên bản chính hoặc phụ trong hoặc packages.jsonthông qua , hãy xóa các ký tự đó ra khỏi tệp và thử tệp khác . Nếu nó hoạt động vào thời điểm đó thì bạn sẽ ổn sau khi bạn có niềm vui thu hẹp gói nào gây ra sự cố.^~npm install


4

Tôi vừa cài đặt toàn cầu phiên bản NPM mới nhất và nó hoạt động với tôi. Tôi đoán Xóa bộ nhớ cache npm là tùy chọn.

npm install -g npm

3

Tôi gặp vấn đề tương tự trong khi cố gắng cài đặt các công cụ firebase trong máy tính xách tay windows của mình. đây là cách tôi giải quyết nó

  1. Tôi đã tải xuống kaspersky và cài đặt nó. sau đó tôi vô hiệu hóa kết nối an toàn kaspersky
  2. tôi đã mở cmd và chạy lệnh này npm cache clean --force
  3. tôi sau đó chạy lệnh này npm install npm@latest -g
  4. tôi sau đó chạy lệnh firebase cli npm install -g firebase-tools

trong lệnh này npm cache clean --force --force giúp bộ nhớ cache sạch
Wasif

@Benja - Kaspersky là một phần mềm chống vi-rút và nó không có gì để làm trong quá trình cài đặt hoặc các vấn đề về NPM của bạn. nếu bạn gặp vấn đề với điều đó, tối đa có thể là do cài đặt Proxy hoặc vì bất kỳ lý do nào được đề cập ở đây
Ritumoni Sharma

3

Tôi đề nghị: Chuyển sang Sợi! - Sợi là trình quản lý gói sử dụng cùng một package.jsontệp và node_modulesthư mục là npm.

Với npm tôi cũng gặp vấn đề tương tự: Trên bản cài đặt CentOS 6, tôi gặp ERR cb() never calledlỗi liên tục và không thể tìm ra cách nào để npm hoàn thành việc cài đặt một số gói một cách đáng tin cậy (nhưwebpack ví dụ). - Sợi hoạt động hoàn hảo, ngay cả trên các kết nối mạng không ổn định.

Di chuyển đến Sợi rất dễ dàng. Hầu hết các tiểu ban đều giống nhau. Họ có một hướng dẫn di chuyển tốt . Đọc tiếp để so sánh các lệnh CLI tiện dụng ở cuối.


Tôi thường gặp vấn đề với npm installbên trong bộ chứa Docker (thường chạy trên máy chủ Ubuntu). yarn installđã bỏ chặn tôi trong hai dự án khác nhau khi npm installthất bại! Ước gì tôi có thể biết tại sao, tuy nhiên ...
Jamie Birch

Có, tôi có thể xác nhận rằng tôi không có vấn đề gì với Sợi. Thật không may npm là một crap ngày nay. Tạo tập tin khóa gói bị hỏng trong một số khoảnh khắc ngẫu nhiên. Không có gì như thế xảy ra trong Sợi. Tập tin Sợi.lock của nó luôn ổn
Nickon

3

Đối với người dùng Ubuntu, phương pháp được đưa ra dưới đây có hiệu quả với tôi.

Đầu tiên, thực hiện điều này: sudo npm cache verify

Sau đó, đi đến Trang chủ ->. Npm và xóa thư mục _cache bằng cách: sudo rm -rf _cacache/

Đi và kiểm tra, có thể bạn tìm thấy giải pháp.


3

CẬP NHẬT: Vấn đề khá phổ biến ở đây là bản sửa lỗi mới npm cache verifymà bạn sẽ làm tốt!


2

Chọn nơi mdp còn lại, vấn đề là ở nút 0.10.19 và npm 1.3.11

Tôi tìm thấy cách dễ nhất để quản lý việc hạ cấp để giữ mọi thứ diễn ra suôn sẻ là NVM , đây là một hướng dẫn hay về cách sử dụng nó. Tôi đã sửa đổi môi trường máy chủ của mình và chạy hạ cấp chính xác từ 0.10.19 xuống 0.10.18 trong vài phút với NVM.


NVM rất hữu ích. Tôi đã có quá nhiều vấn đề với xung đột phiên bản và những vấn đề này chỉ được giải quyết bằng cách cài đặt và sử dụng NVM. Thật tuyệt vời! Cảm ơn.
Ken J

2

Tôi đã gặp vấn đề tương tự trên máy Mac của mình và tôi đã thử tất cả các phương pháp tôi có thể tìm thấy: nâng cấp lên Node mới nhất, xóa bộ đệm, xóa thư mục _node_mudules_, nhưng tất cả đều không có hiệu quả. Cuối cùng, tôi tin rằng đó là vấn đề của môi trường Node, vì vậy tôi đã chuyển Node của mình thành phiên bản LTS cũ 6.14.1, sau đó vấn đề biến mất. Đây là những gì tôi làm:

  1. Cài đặt NVM (Để có một môi trường nút bị cô lập hoàn toàn mới, tốt hơn bạn nên sử dụng NVM để quản lý nhiều môi trường Nút của bạn, đi đến đây để biết chi tiết)

    curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash

  2. Cài đặt Node.js 6.14.1

    nvm install 6.14.1

  3. Chuyển sang môi trường Node cụ thể mà bạn cài đặt ở trên

    nvm use 6.14.1

  4. Cài đặt ứng dụng tạo-phản ứng

    npm install -g create-react-app

  5. Tạo ứng dụng phản ứng của bạn

    create-react-app appname


2

npm install sẽ dẫn đến:

npm ERR! cb() never called!

npm ERR! This is an error with npm itself. Please report this error at:
npm ERR!     <https://github.com/npm/npm/issues>

Trong trường hợp của tôi, lỗi này bắt đầu xảy ra khi tôi nâng cấp lên phiên bản Node.js 8.11.1. Trước đây sử dụng phiên bản Node.js 6.12.xvà phiên bản NPM5.8.0 .

Ngoài ra, các kịch bản thử nghiệm của tôi sẽ không tìm thấy AVA:

sh: ava: command not found
npm ERR! Test failed.  See above for more details.

Giải pháp là hạ cấp NPM xuống 5.7.1


2

[Hoạt động] thử cấu hình npm xóa https-proxy

nó sẽ bị xung đột với proxy.


Bạn là một người cứu rỗi cuộc sống. Cảm ơn bạn
amit gupta

2

Đối với bất cứ ai đã nâng cấp gần đây từ 6.x lên 6.7.0.

Xóa /Users/{YOUR USERNAME}/.npmthư mục đã giải quyết vấn đề của tôi với npm install.

Tôi cũng vậy, đã chạy một số lệnh được đề xuất bởi https://npm.community/t/crash-npm-err-cb-never-called/858/93?u=jasonfoglia

sudo npm cache clean -f
sudo npm install -g n

Nhưng tôi không chắc cái nào thực sự hoạt động cho đến khi tôi xóa thư mục. Vì vậy, nếu bạn gặp vấn đề này và chỉ cần xóa thư mục .npm khắc phục sự cố của bạn, xin lưu ý rằng trong các bình luận.


2

Tôi cũng đã phải đối mặt với cùng một vấn đề ngày hôm nay khi tôi buộc dừng tải gói npm ở giữa do các vấn đề internet.

Tôi đã thử nhiều thứ như,

  1. Chạy sudo npm cache clean -f - không hoạt động như mong đợi
  2. Làm sạch nút gỡ cài đặt và cài đặt lại nút - điều này cũng không hoạt động

Cuối cùng tôi đã cố gắng xóa thư mục chứa bộ đệm npm đang tạo ra vấn đề. Tôi đã chạy lệnh sau,

sudo rm -rf /Users/{user_system_user}/.npm/

Sau đó, tôi đã thử cài đặt gói bị kẹt và mọi thứ hoạt động như một lá bùa.

PS: thay thế {user_sytem_user} theo người dùng hiện tại của hệ thống của bạn.


Tôi nghĩ với các phiên bản npm mới nhất, giải pháp của bạn là giải pháp duy nhất đang hoạt động.
Jorge Valvert

2

Tôi đã có cb() never called!lỗi, và không có câu trả lời nào ở đây trực tiếp làm việc cho tôi. Tôi đang chạy Node v8.11.2và tôi phải xóa package-lock.jsontệp theo cách thủ công để đến bất kỳ đâu. Sau khi làm điều này, tôi chạy npm cache verifytheo những gì một số câu trả lời được đề nghị. Sau đó, chạy npm imang lại kết quả sau:

npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN securities-stub@1.0.0 No description
npm WARN securities-stub@1.0.0 No repository field.

up to date in 5.118s

1
brew uninstall node
cd /usr/local
git checkout f7bbdcc /usr/local/Library/Formula/node.rb
brew install node

Tìm các phiên bản khác như vậy:

brew versions node

1

Làm npm install npm@latest -gđể cập nhật npm lên phiên bản mới nhất. Điều này đã khắc phục vấn đề cho tôi. Tôi đã làm npm cache cleantrước


1

Trong trường hợp của tôi, tôi không thể cài đặt plugin VueJS và tôi đã phải:

Thay đổi quyền sở hữu các tệp:

sudo chown -R $ (whoami) ~ / .npm

sudo chown -R $ (whoami) / usr / local / lib

sudo chown -R $ (whoami) / usr / local / bin

Và sau đó chắc chắn sẽ có npm mới nhất:

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

Sau đó cài đặt plugin của tôi và trong trường hợp của bạn có lẽ lệnh của bạn không được đọ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.