npm ERR! cb.apply is not a function

node.jsNpmNpm Install

node.js Problem Overview


I am getting this error

npm ERR! cb.apply is not a function

in Linux while doing npm install although my npm version is 6.9.0. My node version is v12.18.3. How to resolve this issue?

node.js Solutions


Solution 1 - node.js

Would be helpful if you shared if it's Windows or Linux, but the error seems to occur on Windows. Possible solution:

1. Go to C:\Users(your username)\AppData\Roaming
2. Delete the npm folder (possibly back it up) and if there is one npm cache folder.
3. Run `npm cache clear --force` (--force is now required to clean cache)

After that, npm install should work fine.

Solution 2 - node.js

Mac/Macbook users

Since this question is fairly active and a top google result for this issue (I know the OP is using Linux) and we have every other OS covered in this list. Here is how to fix it on a Mac.

On a Mac you do not have the AppData\Roaming folder, so simply run npm root -g and then navigate to the hidden directory and delete the node_modules there. If using nvm you'll need to rerun nvm use x.x.x (where x.x.x is your version).

Solution 3 - node.js

Solution for Windows:

In my case I didn't want to delete all the npm directory inside C:/users/me/AppData/Roaming/ because I had many global modules that already existed and installed.

What worked was inspired by @user14360499's answer:

  1. go inside C:\Users\me\AppData\Roaming\npm\node_modules
  2. delete the npm dir
  3. npm install my project, and keep working as usually

Solution 4 - node.js

Ciao, this problem could be connected to graceful-fs package. You could try to reinstall it:

npm install graceful-fs --save-dev

Solution 5 - node.js

I had the same issue with Nodist. After changing my Node version, my npm version was actually incompatible with it. So if you're using Nodist, make sure to run nodist npm {scope} match after switching Node versions, where scope is either global, local or env.

Solution 6 - node.js

Solution for ubuntu 18.04:

sudo apt-get remove nodejs
sudo apt-get remove npm
sudo rm /usr/local/bin/node
sudo rm /usr/local/bin/npm
sudo apt-get install nodejs
sudo apt-get install npm

Then try node and npm version:

node -v
npm -v

If it says there is no such node/npm after you already install, then:

sudo ln -s /usr/bin/node /usr/local/bin/node
sudo ln -s /usr/bin/npm /usr/local/bin/npm

Try this if the command works:

npm -v
node -v

In case when you want to update npm/node stable version:

sudo npm install n -g
sudo n stable

Solution 7 - node.js

Had the same error (macOS Big Sur) when i tried to use npx.

How i fixed it (using nvm) when i run:

nvm ls

nvm ls output

Fix:

nvm alias default node
nvm install 'lts/*'

nvm install output

Solution 8 - node.js

Solution for Ubuntu 18.04=>

  1. Visit 'usr/lib/node_modules'.
  2. Delete 'n', 'npm','npm-clean','npm-install-peers'. That means delete all the node & npm related folders.
  3. Install the npm again.

Solution 9 - node.js

I have tried a lot of solutions from different posts and google pages and nothing worked for me.

I ended up cleaning all traces of node, nodejs, and npm. May need some manual force remove after the purge call. And then installed using nvm.

https://linuxize.com/post/how-to-install-node-js-on-ubuntu-20-04/#installing-nodejs-and-npm-using-nvm

And it resolved the issue for me. It got the nodejs v 15.4.0 and the compatible version of npm 7.0.15 ( before using apt-get it was installing npm 6.9.0)

Solution 10 - node.js

In my case it was indeed the graceful-fs package. Running

npm i -g --force graceful-fs 

fixed the issue. I also ran nodist npm {scope} match before but I'm unsure if it was neccessary.

Solution 11 - node.js

I had this problem while trying to run npx.

I found that nvm had been removed from the PATH.

I added it back to my .zshrc file and it worked.

Solution 12 - node.js

On macOS BigSur, I had this problem when executing:

npx install-peerdeps --dev eslint-config-airbnb

To fix, I ran

brew update

after which I was prompted to run

brew upgrade

Running the two commands fixed the issue.

Solution 13 - node.js

In my case (Mac) it was because I had npx installed alongside n (alternative to nvm).

$ which npx
/usr/local/bin/npx

I removed this exectutable and now:

$ which npx
/Users/MY_USER/n/bin/npx

and it works now.

Solution 14 - node.js

Feb 2021 fix:

npm install

And then commit the changes to package-lock.json. That should update all your dependencies, thus fixing this issue.

More info: https://help.heroku.com/ZV7S7D6T/why-is-my-node-build-is-suddenly-displaying-npm-err-cb-apply-is-not-a-function (this happened to me on heroku)

Solution 15 - node.js

For linux users:

  1. uninstall NPM, to do it go to /usr/local/lib/node_modules and do:

> sudo rm -r n npm npx

  1. Once uninstalled, re-instal it: > npm install

  2. Even after doing this, in a specific project when trying to install a specific npm package, you may get the following error:

> bash: /usr/local/bin/npm: No such file or directory

If so, in the terminal just run:

> hash -r

  1. Now you can retry installation of your wanted npm package.

Solution 16 - node.js

For me , the solution was to delete the node modules and bower components folder of the project.

Solution 17 - node.js

for the mac OS remove the node version and reinstalling was work for me. I used n npm version manager.

Solution 18 - node.js

On windows, using nvm, i just installed a newer nodejs version (before 14.17.0, now 14.18.2)

Solution 19 - node.js

I was getting this error when running npx sb init. For some reason, the command worked localy but not in CI. I tried most of the solutions from here. But only the following worked.

I replaced npx sb init with yarn global add @storybook/cli && yarn exec sb init as suggested here: https://github.com/yarnpkg/yarn/issues/3937#issuecomment-751289438

(NVM, Node.js 14, Yarn 1)

Solution 20 - node.js

For me, on Centos 7, it was about removing graceful-ts used locally by npx. First, I've had to open log file which was mentioned in the error message:

npm ERR! cb.apply is not a function

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2022-04-04T07_45_27_182Z-debug.log

In that log file there was this path:

verbose stack     at /usr/local/lib/node_modules/npx/node_modules/npm/node_modules/graceful-fs/polyfills.js:287:18

So I removed whole graceful-fs directory and ran npx again. Everything worked.

rm -fR /usr/local/lib/node_modules/npx/node_modules/npm/node_modules/graceful-fs

Solution 21 - node.js

Solution for ubuntu =>

  1. Completely remove nodejs and npm from your system.
sudo apt-get remove nodejs
sudo apt-get remove npm
  1. Install node from this reference (https://computingforgeeks.com/install-node-js-14-on-ubuntu-debian-linux/) - This will inturn install latest npm .

Solution 22 - node.js

Had the same error was simply in the wrong folder -.- (not a typescript project)

Solution 23 - node.js

So many solutions just made me even more puzzled. I downloaded and installed the newest LTS NodeJS and it worked just fine. https://nodejs.org/en/

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionJanakiView Question on Stackoverflow
Solution 1 - node.jsMarek PiotrowskiView Answer on Stackoverflow
Solution 2 - node.jsmaxshutyView Answer on Stackoverflow
Solution 3 - node.jsadir abargilView Answer on Stackoverflow
Solution 4 - node.jsGiovanni EspositoView Answer on Stackoverflow
Solution 5 - node.jsChristophe LongeanieView Answer on Stackoverflow
Solution 6 - node.jsjacobkimView Answer on Stackoverflow
Solution 7 - node.jsMike M.T NjovuView Answer on Stackoverflow
Solution 8 - node.jsuser14360499View Answer on Stackoverflow
Solution 9 - node.jsRajibul alamView Answer on Stackoverflow
Solution 10 - node.jsXintellionView Answer on Stackoverflow
Solution 11 - node.jsBatchView Answer on Stackoverflow
Solution 12 - node.jsVlad LView Answer on Stackoverflow
Solution 13 - node.jscatchergeeseView Answer on Stackoverflow
Solution 14 - node.jsRoger ObaView Answer on Stackoverflow
Solution 15 - node.jsAhmad MOUSSAView Answer on Stackoverflow
Solution 16 - node.jsGermán Sánchez PastorView Answer on Stackoverflow
Solution 17 - node.jsAbhiman RanaweeraView Answer on Stackoverflow
Solution 18 - node.jsLeonardo PintoView Answer on Stackoverflow
Solution 19 - node.jsLeksatView Answer on Stackoverflow
Solution 20 - node.jsGrzegorz Adam KowalskiView Answer on Stackoverflow
Solution 21 - node.jsShreya BView Answer on Stackoverflow
Solution 22 - node.jsAlexView Answer on Stackoverflow
Solution 23 - node.jsemitremmusView Answer on Stackoverflow