Error cb never called

Learn how to fix the npm error cb() never called issue

When running the npm install command, sometimes you will have an npm error that causes the install to fail.

The error says the cb() function is never called as follows:

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>

npm ERR!   A complete log of this run can be found in:
npm ERR!   /Users/nsebhastian/.npm/_logs/2022-06-13T07_08_32_041Z-debug-0.log

The cb() function mentioned above is a vanilla callback function. The function was used by the npm install command to mark when an install is completed.

The error means that the installation process was interrupted and left unfinished.

The cause of this error varies from outdated npm package and cache, a limited memory space, and an incompatible node version.

Here are some things you can try to fix the cb() never called error:

  • Check the npm version and cache
  • Delete the package-lock.json file
  • Check the strict-ssl config
  • Check if you have enough memory for the packages
  • Define the node version in package.json file (for Heroku)

Let’s see how you can fix the error with the steps above.

Check your npm version and cache

An outdated npm cache may trigger the error, so you can try to fix the error by clearing the cache.

Run the following command from your terminal:

Once the cache is cleared, run the npm install command again.

If that doesn’t work, then make sure you are using the latest npm version. At the time of this writing, the latest npm version is 8.12.1.

Use the following commands to check and install the latest stable npm version:

# 👇 check npm version
npm -v

# 👇 install the latest npm version
npm install -g npm@latest

# 👇 if blocked, add sudo command
sudo npm install -g npm@latest

Sometimes, a global installation with the -g flag may get blocked because of a permission issue.

Add sudo to perform the installation with admin privileges.

After the npm is updated, run the npm install command again.

Delete your package-lock.json file

If you still see the error, then you may need to delete the package-lock.json file generated in your project directory.

The reason is that npm generates two different lockfile versions depending on its version.

npm v5 and v6 generated lockfile version 1, and v7 onward generated lockfile version 2.

You can open the package-lock.json file and see the lockfileVersion property:

{
  "name": "r-app",
  "version": "0.1.0",
  "lockfileVersion": 2,
  // ...
}

Delete the package-lock.json file and try running the npm install command again. Some people say it fixed the issue.

Check the strict-ssl configuration

If you have firewall protection on your computer, then the error may appear when npm do SSL key validation for the install process.

To resolve this error, set the strict-ssl to false:

npm config set strict-ssl=false

And npm won’t do SSL certificate validation when running installation via https.

Check for your memory space

The npm install command can generate a node_modules/ folder that is more than 1GB in size.

A React application generated using create-react-app has a node_modules/ folder that’s around 200MB.

Your local or production environment may not have enough space, so the installation process was interrupted.

It’s not possible to determine the space needed for your node_modules/ folder, so you can only get an estimation.

Try to get at least a few gigabytes of empty space in your computer before running the installation again.

Define the node engines config in package.json

When you see the error on cloud platforms like Heroku and AWS, then it’s possible that the Node.js version used to run the installation is incompatible with your dependencies.

You can specify the node version required by your application in the package.json file.

Consider the example below:

{
  "name": "example-app",
  "description": "My application",
  "version": "1.0.0",
  "engines": {
    "node": "16.x"
  }
}

Without specifying the version, cloud platforms will use their own default version. As of this writing, Heroku uses Node v16. Not sure about AWS.

Run the node -v command to find the node version installed on your computer, then specify the same version in the package.json file as shown above.

Finally, commit and push the update. See if the issue is resolved.

Conclusion

The above methods are the most relevant fixes for cb() never called issue.

Sometimes, the error also happens because of a connection timeout, so you can check if you have internet connectivity issues before running the install command again.

Make sure that you can access https://registry.npmjs.org/ from your browser.

If you need more help, you can open a new question on Stack Overflow. Add the detail of your error and mention that you have tried the fixes in this article.

Thanks for reading! 🙏

I have a Node.js app hosted on Heroku. Every time I do a git push heroku I get the following error:

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'

The error is in the last few lines:

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'

I have had no problems with pushing my code to Heroku before; only since Monday have I had this error.

I have seen similar posts on the web referring to slightly different errors, but haven’t seen one with ! [remote rejected] master -> master (pre-receive hook declined) before.

Christian Fritz's user avatar

asked Mar 13, 2013 at 18:44

Louise K's user avatar

8

If you have npm version 5 or above, try this first:

$ sudo npm cache verify

Otherwise:

$ sudo npm cache clean

My node and npm versions are:

$ node -v
v0.10.0

$ npm -v
1.2.14

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

MAZux's user avatar

MAZux

8901 gold badge16 silver badges27 bronze badges

answered Mar 18, 2013 at 18:11

Alberto's user avatar

AlbertoAlberto

4,7091 gold badge13 silver badges6 bronze badges

10

If you have updated angular cli, npm, node, you don’t need to do anything more. Just run the command below to resolve the issue. This command also resolves the issue of «unexpected end of line».

npm install --no-package-lock

Cristik's user avatar

Cristik

30.2k25 gold badges91 silver badges127 bronze badges

answered Mar 6, 2018 at 14:39

chetan shah's user avatar

chetan shahchetan shah

4914 silver badges4 bronze badges

2

IMPORTANT! The solution below is now regarded as unstable, and you should use Node Version Management instead: Node Version Manager on Github. David Walsh also has a good introduction to NVM. NVM works beautifully and I’ve been using it to manage legacy WordPress projects for a few years.


Please don’t use this — use NVM

I just had this exactly issue when trying to install the Sage theme for WordPress. When I ran npm install on the theme directory, it failed.

Looking in the dependencies in package.json, I could see that the engine I was running for Node was out of date. Running node -v on the command line showed that I was on v0.10.9, and the latest version of Sage requires >= 0.12.0

So here’s the fix for that. These steps are from David Walsh’s blog

  1. Clear your npm cache: sudo npm cache clean -f
  2. Install the latest version of the Node helper: sudo npm install -g n
  3. Tell the helper (n) to install the latest stable version of Node: sudo n stable

You should then get a progress display, after which you will be up to date.

When I ran npm install after doing this, everything worked fine, and I was able to run gulp to build the initial dist directory.

answered May 20, 2015 at 10:50

codewithfeeling's user avatar

codewithfeelingcodewithfeeling

5,9986 gold badges38 silver badges51 bronze badges

2

Do you have a specific version of "npm" specified under "engines" in your package.json? Sounds like NPM v1.2.15 resolved the issue (and Heroku has available). I was getting the same problem with "1.1.x".

answered Mar 30, 2013 at 7:09

Aidan Feldman's user avatar

4

  • Run npm install -g npm
  • Then run npm install

answered Oct 7, 2018 at 12:45

Shujat Munawar's user avatar

1

Updating the NodeJS https://nodejs.org/en/ Fixed My Issue.

Run npm install -g npm & npm cache clean

answered Dec 31, 2016 at 18:56

Srinivas's user avatar

SrinivasSrinivas

82711 silver badges13 bronze badges

2

For me none of the above solutions worked (reinstalling, clearing cache, folders etc.).

My problem was solved with:

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

answered Oct 10, 2019 at 8:47

Bubiec's user avatar

BubiecBubiec

3532 silver badges10 bronze badges

1

Since NPM 6 you can do a clean install.
That was the only solution which worked for me.

Just run the following:

npm clean-install

Notes:

  • You might also manually remove the node_modules folder and try again in case the command above failed.
  • If still doesn’t work, the global cache might be broken, try running npm cache clean --force and then do a clean install.
  • The clean-install command works on npm 6 and above. For older versions consider checking the other answers below.

answered Mar 25, 2021 at 11:07

Just Shadow's user avatar

Just ShadowJust Shadow

10.2k5 gold badges55 silver badges69 bronze badges

1

UPDATED: The problem is pretty common here is the new fix npm cache verify run that you will be good to go!

answered Apr 12, 2020 at 20:17

James Christian Kaguo's user avatar

2

I had the same problem while installing ionic@beta.
I tried the following items and they didn’t help me.

  1. npm cache clean
  2. Manually delete cache from %temp%npm-*
  3. Command
    prompt «Run As Administrator»

I solved the problem by installing node-v5.10.1-x64.msi (Previous version was node-v5.9.0-x64.msi) and run an npm cache clean before installing ionic@beta

It worked!

answered Apr 17, 2016 at 17:57

Sen Jacob's user avatar

Sen JacobSen Jacob

3,3343 gold badges35 silver badges59 bronze badges

2

[Works] try

npm config delete https-proxy

it would have conflicted with proxy.

BuZZ-dEE's user avatar

BuZZ-dEE

5,49410 gold badges65 silver badges94 bronze badges

answered Sep 28, 2018 at 9:27

KrtkNyk's user avatar

KrtkNykKrtkNyk

1411 silver badge4 bronze badges

0

I had the same problem with NPM version 1.3.11, and solved it simply by re-running the exact same command multiple times («npm update -g» in my case). The error popped up for a different package on each subsequent run and eventually everything updated successfully.

For me at least, it seems like it was being caused by a network issue (corrupted downloads). I was also getting an error about an invalid package, which I was able to resolve by deleting all instances of «tmp.tgz».

Edit: (Probably unrelated, but in case this helps anyone: I was using Windows, and started a command prompt as an Administrator after receiving the initial error).

answered Sep 25, 2013 at 14:26

Sven Viking's user avatar

Sven VikingSven Viking

2,58820 silver badges34 bronze badges

2

I had the cb() never called! error, and none of the answers here directly worked for me. I was running Node v8.11.2, and I had to manually delete the package-lock.json file to get anywhere. After doing this, I ran npm cache verify per what some of the answers recommended. Then, running npm i yielded the following result:

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

answered Jul 31, 2019 at 9:03

Tim Biegeleisen's user avatar

Tim BiegeleisenTim Biegeleisen

490k25 gold badges267 silver badges344 bronze badges

If the bug persists even after running npm cache clean --force, try to rerun npx create-react-app your_app_name after switching to a different network. This error could also cause due to slow and unstable networks…

answered May 27, 2021 at 18:14

Malith Senanayake's user avatar

As of March 2021 the new NPM version fixes many of those issues.

So calling npm i -g npm@latest fixes this again (In between this did not work).

answered Mar 1, 2021 at 13:41

Obiwahn's user avatar

ObiwahnObiwahn

2,4812 gold badges23 silver badges35 bronze badges

2

I just globally installed the newest version of NPM and it worked for me.
I guess Clearing npm cache is optional.

npm install -g npm

answered Sep 7, 2017 at 3:31

Akash Tantri's user avatar

0

For me on npm 6.4.0 and node 10.9.0 none of the answers worked. Reinstalled node, npm, cleaned cache, removed folders …

After some debugging it turned out I used npm link for two of my modules under development to link to each other. Once I removed and redid some linking I was able to get it all working again.

answered Aug 24, 2018 at 23:55

Flion's user avatar

FlionFlion

10.1k13 gold badges48 silver badges68 bronze badges

Knowing that this is an old question and many of you had provided your answers. Just to share my experience with this error and how I fixed.

This all started after I upgrade my Node version to > 12, I did go through all the answers and try to follow steps clearing npm Cache, deleting the node_modules folder. No one of them resolve my problem.

The root cause in my case was proxy restricting installation. I deleted the proxy settings to fix the problem.

  1. Check if you have any proxy config

    npm config list
    
  2. Delete them by

    npm config delete proxy
    npm config delete http-proxy
    npm config delete https-proxy
    
  3. Now try

    npm install
    

BuZZ-dEE's user avatar

BuZZ-dEE

5,49410 gold badges65 silver badges94 bronze badges

answered May 14, 2020 at 4:44

Prakash's user avatar

PrakashPrakash

1111 silver badge6 bronze badges

What worked for me was: delete the package-lock.json file and run the following command:

npm cache clean —force

answered Aug 16, 2020 at 8:35

joe hoeller's user avatar

joe hoellerjoe hoeller

1,04611 silver badges20 bronze badges

sudo npm cache clean didn’t work out for me. Update to the latest version of node helps.

I had node v.5.91 and updated to v6.9.1

answered Nov 24, 2016 at 3:32

h--n's user avatar

h—nh—n

5,8134 gold badges30 silver badges32 bronze badges

1

I suggest: Switch to Yarn! — Yarn is a package manager which uses the same package.json file and node_modules folder as npm.

With npm I had the same problem: On a CentOS 6 install I got the ERR cb() never called error repeatedly and could not find a way to make npm reliably complete installation of some packages (like webpack for example). — Yarn works flawlessly, even on flaky network connections.

Migration to Yarn is easy. Most subcommands are the same. They have a good Migration guide. Read on to the handy CLI commands comparison at the end.

answered Feb 26, 2019 at 0:12

halloleo's user avatar

halloleohalloleo

8,58612 gold badges57 silver badges106 bronze badges

2

For Ubuntu Users, the given below method worked for me.

Firstly, perform this : sudo npm cache verify

Then go to Home->.npm and delete the _cache folder by : sudo rm -rf _cacache/

go and check, maybe you found the solution.

answered Mar 7, 2019 at 9:40

Jaymeen_JK's user avatar

Jaymeen_JKJaymeen_JK

3224 silver badges5 bronze badges

I have the same error in my project. I am working on isolated intranet so my solution was following:

  • run npm clean cache --force
  • delete package-lock.json
  • in my case I had to setup NPM proxy in .npmrc

answered Jan 26, 2021 at 13:41

Kacpers's user avatar

KacpersKacpers

1632 silver badges6 bronze badges

0

Try switching your network,
somehow switching network worked for me.

I have tried many things mentioned in other answers, like:

  1. npm cache clean —force
  2. Delete existing node_modules, delete package-lock.json, and reinstall using — npm i
  3. npm cache verify
  4. npm clean-install

None of the above worked for me, might work for you.
Try your luck.

answered Mar 30, 2021 at 18:04

SUMIT JAIN's user avatar

SUMIT JAINSUMIT JAIN

911 silver badge3 bronze badges

It appears that particular dependency versions can cause this issue. For example, gulp-uglifycss 1.0.7 has this problem (see https://github.com/rezzza/gulp-uglifycss/issues/15).

If you are allowing major or minor version updates in your packages.json via ^ or ~, remove those characters thoughout the file and try another npm install. If it works that time then you’ll be alright after you have the fun of narrowing down which package is causing the problem.

answered Mar 28, 2017 at 13:18

Robert Johnson's user avatar

I had the same issue while trying to install firebase-tools in my windows laptop. this is how i solved it.

  1. I downloaded kaspersky and installed it. then i disabled kaspersky secure connections
  2. i opened cmd and run this command npm cache clean --force
  3. i then run this command npm install npm@latest -g
  4. i then run the firebase cli command npm install -g firebase-tools

answered May 14, 2018 at 13:42

Benja's user avatar

BenjaBenja

913 bronze badges

2

I too faced the same problem today as I force stopped the npm package download in between due to internet issues.

I tried various things like,

  1. Running sudo npm cache clean -f — which did not work as expected
  2. Clean uninstalling node and reinstalling it — which as well didn’t work

I finally tried to delete the folder containing the npm cache that was creating the problem. I ran the following command,

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

Then I tried installing the package that was stuck and everything worked like a charm.

P.S: replace {user_sytem_user} according to the current user of your system.

BuZZ-dEE's user avatar

BuZZ-dEE

5,49410 gold badges65 silver badges94 bronze badges

answered Mar 26, 2019 at 19:21

Sulokit's user avatar

2

If you are open your code in a IDE such as IntelliJ idea Close it and re try

answered Jul 2, 2021 at 20:03

Rumesh Madushanka's user avatar

This was referenced

Jan 20, 2020

This was referenced

May 4, 2021

This was referenced

May 11, 2021

This was referenced

May 20, 2021

@darcyclarke
darcyclarke

changed the title
«npm ERR! cb() never called!»

🐞 "npm ERR! cb() never called!"

Jun 2, 2021

@darcyclarke
darcyclarke

changed the title

🐞 "npm ERR! cb() never called!"

🐞 [BUG] "npm ERR! cb() never called!"

Jun 2, 2021

@npm
npm

locked as resolved and limited conversation to collaborators

Jun 2, 2021

@darcyclarke
darcyclarke

changed the title

🐞 [BUG] "npm ERR! cb() never called!"

🐞 [BUG] «npm ERR! cb() never called!»

Jun 7, 2021

@wraithgar
wraithgar

changed the title

🐞 [BUG] «npm ERR! cb() never called!»

🐞 [BUG] «npm ERR! cb() never called!» or «Exit handler never called»

Jun 23, 2021

I’ve started using GitHub Actions to test projects as well as running builds. Heroku is part of this playground. While working, I stumbled across an issue that took some time to fix. Sharing here my notes for others to benefit. When you come across npm ERR cb() never called, you might want to try these steps to fix the issue:

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>

As mentioned, in my case it was on GitHub:

npm ERR! cb() never called!

From researching the issue, I’ve learned this also appears to happen a lot on other npm packages like React Native and Meteor but also on services such as Heroku. I’ve discovered various solutions to fix the issue I’d like to share:

Clearing the NPM Cache & Upgrading NPM #

  1. If this issue comes up on your local development machine, it might pay to clear the cache:

    npm cache clean -force
  2. Secondly, ensure you are running the latest version of npm:

    npm install npm@latest -g
  3. Delete your node_modules before running an install too.

Fixing your NPM version #

It’s been noted, that hard defining the required node version helped. For this, you will need to append this to your package.json:

"engines": {
"node": "0.8.x"
}

Doesn’t fix it? #

If this doesn’t fix it you could raise the question with details on Stackoverflow. Feel free to mention this site with the things you have already tried.

🙏🙏🙏

Since you’ve made it this far, sharing this article on your favorite social media network would be highly appreciated 💖! For feedback, please ping me on Twitter.

Published 11 Jan 2021

Содержание

  1. How to fix npm err! cb() never called! issue
  2. Check your npm version and cache
  3. Delete your package-lock.json file
  4. Check the strict-ssl configuration
  5. Check for your memory space
  6. Define the node engines config in package.json
  7. Conclusion
  8. Level up your programming skills
  9. About
  10. npm ERR! cb() never called! #1916
  11. Comments
  12. Footer
  13. This is an error with npm itself — cb() never called! #17222
  14. Comments
  15. I’m opening this issue because:
  16. What’s going wrong?
  17. How can the CLI team reproduce the problem?
  18. supporting information:
  19. 🐞 [BUG] «npm ERR! cb() never called!» or «Exit handler never called» #417
  20. Comments
  21. *Updated* as of 01/15/2021

How to fix npm err! cb() never called! issue

Posted on Jun 13, 2022

Learn how to fix the npm error cb() never called issue

When running the npm install command, sometimes you will have an npm error that causes the install to fail.

The error says the cb() function is never called as follows:

The cb() function mentioned above is a vanilla callback function. The function was used by the npm install command to mark when an install is completed.

The error means that the installation process was interrupted and left unfinished.

The cause of this error varies from outdated npm package and cache, a limited memory space, and an incompatible node version.

Here are some things you can try to fix the cb() never called error:

  • Check the npm version and cache
  • Delete the package-lock.json file
  • Check the strict-ssl config
  • Check if you have enough memory for the packages
  • Define the node version in package.json file (for Heroku)

Let’s see how you can fix the error with the steps above.

Check your npm version and cache

An outdated npm cache may trigger the error, so you can try to fix the error by clearing the cache.

Run the following command from your terminal:

Once the cache is cleared, run the npm install command again.

If that doesn’t work, then make sure you are using the latest npm version. At the time of this writing, the latest npm version is 8.12.1.

Use the following commands to check and install the latest stable npm version:

Sometimes, a global installation with the -g flag may get blocked because of a permission issue.

Add sudo to perform the installation with admin privileges.

After the npm is updated, run the npm install command again.

Delete your package-lock.json file

If you still see the error, then you may need to delete the package-lock.json file generated in your project directory.

The reason is that npm generates two different lockfile versions depending on its version.

npm v5 and v6 generated lockfile version 1, and v7 onward generated lockfile version 2.

You can open the package-lock.json file and see the lockfileVersion property:

Delete the package-lock.json file and try running the npm install command again. Some people say it fixed the issue.

Check the strict-ssl configuration

If you have firewall protection on your computer, then the error may appear when npm do SSL key validation for the install process.

To resolve this error, set the strict-ssl to false:

And npm won’t do SSL certificate validation when running installation via https.

Check for your memory space

The npm install command can generate a node_modules/ folder that is more than 1GB in size.

A React application generated using create-react-app has a node_modules/ folder that’s around 200MB.

Your local or production environment may not have enough space, so the installation process was interrupted.

It’s not possible to determine the space needed for your node_modules/ folder, so you can only get an estimation.

Try to get at least a few gigabytes of empty space in your computer before running the installation again.

Define the node engines config in package.json

When you see the error on cloud platforms like Heroku and AWS, then it’s possible that the Node.js version used to run the installation is incompatible with your dependencies.

You can specify the node version required by your application in the package.json file.

Consider the example below:

Without specifying the version, cloud platforms will use their own default version. As of this writing, Heroku uses Node v16. Not sure about AWS.

Run the node -v command to find the node version installed on your computer, then specify the same version in the package.json file as shown above.

Finally, commit and push the update. See if the issue is resolved.

Conclusion

The above methods are the most relevant fixes for cb() never called issue.

Sometimes, the error also happens because of a connection timeout, so you can check if you have internet connectivity issues before running the install command again.

Make sure that you can access https://registry.npmjs.org/ from your browser.

If you need more help, you can open a new question on Stack Overflow. Add the detail of your error and mention that you have tried the fixes in this article.

Thanks for reading! 🙏

Level up your programming skills

I’m sending out an occasional email with the latest programming tutorials. Drop your email in the box below and I’ll send new stuff straight into your inbox!

About

Nathan Sebhastian is a software engineer with a passion for writing tech tutorials.
Learn JavaScript and other web development technology concepts through easy-to-understand explanations written in plain English.

Источник

npm ERR! cb() never called! #1916

I want to install create-react-app but bump along with this bug, i have tried many solutions/articles and in stack overflow like, cache verify, cache cleaning, and many stuffs but still making this error, any help for this problem ?

The text was updated successfully, but these errors were encountered:

I also encountered the same error on:
Node v14 and v12 alpine on docker
NPM v6.14.8

I have similar issue while trying to use create-react-app.
node v14.13.1
npm v6.14.8

is there a possible fix for this error.

Can confirm that this worked for following environment.

man i just wanted to code and have a job. now my computer is broken because of this problem ,probably because of all the things ive done/downloaded etc. lol

@lewsea try removing node & npm completely and re-install. see if that fixes the issue.

@detj already did that 😑 but still get the same error

@lewsea can you try npm install -g npm@next-7 and see if that works?

Same here. Trying to run this command:
c: npm adduser —registry https://pkg.domain.io

npm -v : 6.14.8
node -v: v14.5.0

Sometimes I see the same error on Win10 / Node14.13.1 / Npm7. I was deleting all cache, reinstalling nodejs and npm, but error is still there. It may be related to an unstable network connection.

npm cache verify this fixed this problem for me

the same issue tried all above all solutions but still same error

@Shreeyag29 it do be like that sometimes

Same error here trying to install some pre-edited bootswatch theme to work with.
2020-10-27T15_13_22_122Z-debug.log

That’s the log, also made a cache verify and such. Still not working.

Node v14.14.0
NPM 6.14.8
Windows 10 machine

Facing this error when running the command ‘npm outdated

npm ERR! cb() never called!

npm ERR! This is an error with npm itself. Please report this error at:
npm ERR! https://npm.community

ignore my previous comment about npm cache verify , i just got lucky while installing (1600-1700 packages)

this seems to have something with network state and/or network tools (bunch of errors while trying yarn install might be a hint); i’ve disabled little snitch and adguard also switched to cell hotspot, and installation worked (don’t have time to experiment further, deadline is tomorrow xD)

@kaznovac yeah i think it has something to do with network/firewalls and antivirus software, good thing it worked for you

I had the same issue when I was connected to a slow VPN, 4 or 5 time it errored.
Disconnecting from it and having a good network connection fixed it for me.

Hi guys, I had the same issue and I finally found the problem, the problem is the antivirus, I disabled it that worked.

Faced the same error. Was stuck with it for a long time.

My os is windows 10 pro.

This is how I got out of it :

  1. Clear all the npm-cache first, and install the latest version of Node.
  2. Uninstall the create-react-app globally using npm uninstall -g create-react-app in the Node terminal.
  3. then run npx create-react-app

I don’t know why but the last two methods worked only when I deleted the logs first.

Hope this works for you.

I built my apps with Docker Compose, and each Nodejs service ended with an error: «npm error cb() never called!». I have tried everything: cache cleaning, reinstall, etc. The interesting thing is that everything works on my Macbook. So, I thought it must be something with a network or Windows. So, I decided to go via VPN, and it worked. I don’t know the exact problem it solves, but this thing worked for me.

man every time there’s a new comment here, it brings back the nightmare this problem has caused.

no answer at all

i face the same error when i want to create the my application

ERROR in /js/app
Module not found: Error: Can’t resolve ‘C:UsersELIAS MWITA NSONGODesktopprojectslaravel-studyingresourcesscssapp.css’ in ‘C:UsersELIAS MWITA NSONGODesktopprojectslaravel-studying’

webpack compiled with 1 error

© 2023 GitHub, Inc.

You can’t perform that action at this time.

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.

Источник

This is an error with npm itself — cb() never called! #17222

I’m opening this issue because:

  • npm is crashing.
  • npm is producing an incorrect install.
  • npm is doing something I don’t understand.
  • Other (see below for feature requests):

What’s going wrong?

Getting error when I’m trying to update or install something with npm.

Unhandled rejection TypeError: base64 is not a functionng node@v4.2.6
at Function.from (native)
at Function.from (native)
at bufFrom (/usr/local/lib/node_modules/npm/node_modules/ssri/index.js:337:31)
at Hash.hexDigest (/usr/local/lib/node_modules/npm/node_modules/ssri/index.js:34:27)
at contentPath (/usr/local/lib/node_modules/npm/node_modules/cacache/lib/content/path.js:20:31)
at moveToDestination (/usr/local/lib/node_modules/npm/node_modules/cacache/lib/content/write.js:131:23)
at /usr/local/lib/node_modules/npm/node_modules/cacache/lib/content/write.js:39:7
at tryCatcher (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/util.js:16:23)
at Promise._settlePromiseFromHandler (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js:512:31)
at Promise._settlePromise (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js:569:18)
at Promise._settlePromise0 (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js:614:10)
at Promise._settlePromises (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js:693:18)
at Promise._fulfill (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js:638:18)
at /usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/nodeback.js:42:21
at /usr/local/lib/node_modules/npm/node_modules/graceful-fs/graceful-fs.js:99:16
at /usr/local/lib/node_modules/npm/node_modules/graceful-fs/graceful-fs.js:43:10

npm ERR! cb() never called!

I get an error when I execute curl -L https://www.npmjs.org/install.sh | sh

% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 51 0 0 0 0 0 0 —:—:— —:—:— —:—:— 0
100 6255 100 6255 0 0 3353 0 0:00:01 0:00:01 —:—:— 2036k
tar=/bin/tar
version:
tar (GNU tar) 1.28
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by John Gilmore and Jay Fenlason.
install npm@latest
fetching: https://registry.npmjs.org/npm/-/npm-5.0.3.tgz
removed 1 package in 0.078s
npm ERR! path ../../../tmp/npm.5004/package
npm ERR! code ENOENT
npm ERR! errno -2
npm ERR! syscall symlink
npm ERR! enoent ENOENT: no such file or directory, symlink ‘../../../tmp/npm.5004/package’ -> ‘/usr/lib/node_modules/npm’
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent

How can the CLI team reproduce the problem?

Only execute update of npm npm i -g npm , for example.

Log file of error when I execute npm i -g npm :

0 info it worked if it ends with ok
1 verbose cli [ ‘/usr/bin/nodejs’, ‘/usr/local/bin/npm’, ‘i’, ‘-g’, ‘npm’ ]
2 info using npm@5.0.0
3 info using node@v4.2.6
4 silly install loadCurrentTree
5 silly install readGlobalPackageData
6 error cb() never called!
7 error This is an error with npm itself. Please report this error at:
8 error https://github.com/npm/npm/issues

supporting information:

  • npm -v prints: 5.0.0
  • node -v prints: v4.2.6
  • npm config get registry prints: https://registry.npmjs.org/
  • Windows, OS X/macOS, or Linux?: Linux Ubuntu
  • Network issues:
    • Geographic location where npm was run:
    • I use a proxy to connect to the npm registry.
    • I use a proxy to connect to the web.
    • I use a proxy when downloading Git repos.
    • I access the npm registry via a VPN
    • I don’t use a proxy, but have limited or unreliable internet access.
  • Container:
    • I develop using Vagrant on Windows.
    • I develop using Vagrant on OS X or Linux.
    • I develop / deploy using Docker.
    • I deploy to a PaaS (Triton, Heroku).

The text was updated successfully, but these errors were encountered:

Источник

🐞 [BUG] «npm ERR! cb() never called!» or «Exit handler never called» #417

*Updated* as of 01/15/2021

Note: Please read this doc before filing a new issue.

The text was updated successfully, but these errors were encountered:

I think we have many reports of the same so these should all be duplicates.

Afaik this is resolved by force-clearing the cache and upgrading / updating to the latest npm version.

thanks @DanielRuf for linking all those ❤️

I guess we can check which version first introduced this (doing a small git bisect ) and check the stacktraces for similarities.

Following versions were mentioned in the issues:

Now trying to get a reproducible testcase.

Relevant changes in the past tolog this error: npm/npm#15716

Tests with a local npm 6.13.1 (on macOS):

@vue/cli : not reproducible
npm audit fix : not reproducible
plotly.js : not reproducible
expo-cli : not reproducible

So far it looks like this is caused by other errors which cancel the CLI too early.

I remember that we had this bug also on Ubuntu with the latest version and some packages.

I’m experiencing the same error trying to install a company project for development.
Microsoft Windows [Version 10.0.17134.1184]

Using NVM to switch instances of node/npm
node v10.14.2 (64-bit), npm v6.4.1
node v12.4.0 (64-bit), npm v6.9.0

project was generated with Angular CLI version 8.3.21

[NVM for Windows Setup, Ecor Ventures LLC, ‎Tuesday, ‎August ‎7, ‎2018 9:46:31 PM]

(note that must be nvm-windows; actual nvm doesn’t work on non-WSL Windows, and doesn’t distinguish 64-bit)

We’re getting this error intermittently in both local development and in our CI system. Happy to add any additional logging that might help. Attached the npm log from a run that just happened on my laptop on my mac — trying to npm install one of our private packages. Immediately re-running the command worked without issue.

❯ npm -v
6.13.4
❯ node -v
v13.5.0

Let me know if there’s anything I can do to help track this down, would like to kill the issue.

  • npm audit fix ( npm@6.9.0 / node@10.16.1 )
  • npm install ( npm@6.10.2 / node@12.8.0 )
  • sudo npm install -g npm ( npm@6.9.0 / node@x.y.z )
  • n/a likely npm i ( npm@6.12.1 / node@13.1.0 ) ( npm@6.12.0 / node@12.13.0 )
  • npm install ( npm@6.4.1 / node@12.13.0 )
  • npm install ( npm@6.9.0 / node@10.16.1 )
  • vue create ( npm@6.2.0 / node@10.9.0 )

Thoughts as triaging:

  • Seems like there is an error while installing a package that causes this cb() never called! error.
  • There are 42 issues to triage.

cb() never called! Can’t update NPM or install new #442 original issue references a fix which references updating and cleaning cache to solve issue (updating fixes permissions), cache might indicate problem exists/existed in cacache or pacote

cb() never called! #451 seems to have same symptom but cause doesn’t seem to be within npm , though it does help point to an issue with while installing a package

I got same error. and FIXED IT.
I was trying to dockerize a nodejs project with a docker file. and package.json.
on my ubuntu machine there is no problem, but on CI/CD machine (centos,debian) almost fails to dockerize

Tried Steps:

  • clear node_modules
  • updating node version
  • updating npm version
  • centos
  • debian
  • docker with different versions
  • lots of configuration (npm install fetch-retries, timeouts . )

Источник

Here we will learn how to fix «npm ERR cb() never called» error in our nodejs application easily. This error is very common in any JavaScript frameworks and libraries like reactjs, vuejs too.

Reasons for the error

This error usually occurs

  1. When we install too many node modules packages in our project and due to which sometime our package-lock.json file gets corrupt.
  2. Or sometimes when updating our nodejs version to the latest one, it corrupts the package.json file.

Fixes for «npm ERR cb() never called» error.

To fix the npm err cd() error, i found this four solutions and it fixes my issue.

Solution 1: Clearing the NPM Cache

If the error occurs in local machine then clearing the cache fix the error.

So, first delete the package-lock.json file and then run the following command

and run npm install again to update the package-lock.json file

Solution 2: Upgrade npm version

If you are running on a npm version which is lower than what is required by the package you will get the error.

To upgrade your node version globally , run:

Soultion 3: Delete and Install node_modules folder

Delete package-lock.json file and whole node_modules folder and then reinstall everything by running the command:

Note: Do not delete the package.json file or npm install wont work.

Solution 4: Install the required node version

Sometimes when deploying our application on some online platform like heroku etc, we might get this error. It’s because they need a specific node version to work properly.

To fix we just need to specify the specific version in the package.jsonfile.

"engines": {
  "node": "12.x.x"
}

Once you have update your package.json file with correct version, you can deploy it.

I hope the above two solution works for you too. 😀

Related Topics:

Resolve Npm Cannot Find Module Error In Nodejs

In this post, I will discuss solutions for a very common nightmare level issue faced by almost every node developer.

This issue generally appears while installing the npm packages for a new project setup or sometimes an existing one. The error that strikes and leave you in a head hitting situation reads like this:

npm ERR! cb() never called!

Error with npm itself

So we know this is some error with NPM itself and it’s been there for a long and not yet resolved.

Let’s have a look at various methods to overcome this issue and save numerous hours looking at other things.

How to resolve cb() never called! during npm install?

You can resolve this issue by following the various methods given below.

Method 1 – NPM Verify and Clean Cache

Method 2 – Delete package-lock.json and Node Modules folder

Method 3 – Install One Then Others Trick

Method 4 – If Error in NPM, use PNPM

Find detailed procedures below. Make sure you follow each step and I am making sure you leave this page with this issue resolved!

Method 1 – NPM Verify and Clean Cache

Run the following commands one by one to verify and clean npm cache from system-defined folders:

npm cache verify
 npm cache clean --force

Now try doing npm install

Method 2 – Delete package-lock.json and Node Modules folder

Simply delete the package-lock.json and delete the node_modules folder. Deleting the node_modules folder may take time so instead, rename it to something else like node_modules_old.

Now try running npm install

Method 3 – Install One Then Others Trick

Pick 2 to 3 package names from your package.json file and install them individually instead of npm install. For example;

npm install abc
npm install xyz

etc.

If it succeeds, it will create node_modules folder and package-lock.json and also confirm if you are able or not able to get a few of the packages downloaded from artifactory in your network.

Method 4 – If Error in NPM, use PNPM

Yes, you heard right, you can quickly install pnpm it is the best substitute for npm. It is more optimised and uses fewer resources and also uses less time to install the package when done again and again.

Step 1 – Install PNPM

You can follow the steps given here for multiple platforms. Using npm install globally as follows:

npm install -g pnpm

Step 2 – Do PNPM Install now

Now simply execute pnpm install in your folder.

Check more details here.

Now, your issue should be resolved with all packages installed.

Hope this was helpful…share which method worked in your case… Thanks.

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Error catch without try
  • Error cat пет симулятор
  • Error cat value
  • Error cat pet simulator
  • Error case open warning

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии