npm ERR! cb.apply不是函数

问题描述

尽管我的npm版本是6.9.0。我的节点版本是v12.18.3,但是在进行npm安装时,我在Linux中收到此错误“ npm ERR!cb.apply不是函数”。如何解决此问题?

解决方法

如果共享的是Windows或Linux,则将很有帮助,但该错误似乎发生在Windows上。 Possible solution

gulpfile.js

之后,npm install应该可以正常工作。

编辑,好吧,我看到它是Linux,因此我可以尝试使用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 clean cache —force ( — force is now required to clean cache) 来尝试npm cache clean

,

Mac/Macbook 用户

由于这个问题相当活跃,并且是这个问题的顶级谷歌结果(我知道 OP 使用的是 Linux),因此我们在此列表中涵盖了所有其他操作系统。这是在 Mac 上修复它的方法。

在 Mac 上,您没有 AppData\Roaming 文件夹,因此只需运行 npm root -g,然后导航到隐藏目录并删除那里的 node_modules。如果使用 nvm,您需要重新运行 nvm use x.x.x(其中 x.x.x 是您的版本)。

,

Windows 解决方案:

就我而言,我不想删除“C:/users/me/AppData/Roaming/”中的所有 npm 目录,因为我有许多已经存在并安装的全局模块。

上面@user14360499 的启发是什么:

  1. 进入“C:\Users\me\AppData\Roaming\npm\node_modules”
  2. 删除“npm”目录
  3. npm install 我的项目,照常工作
,

就我而言,它确实是 graceful-fs 包。运行

npm i -g --force graceful-fs 

解决了这个问题。我之前也运行过 nodist npm {scope} match,但不确定是否有必要。

,

Ubuntu 18.04解决方案=>

  1. 访问“ usr / lib / node_modules”。
  2. 删除“ n”,“ npm”,“ npm-clean”,“ npm-install-peers”。这意味着删除所有与节点和npm相关的文件夹。
  3. 再次安装npm。
,

我从不同的帖子和谷歌页面尝试了很多解决方案,但对我没有任何效果。

我最终清理了 node、nodejs 和 npm 的所有痕迹。清除调用后可能需要一些手动强制移除。然后使用 nvm 安装。

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

它为我解决了这个问题。它获得了 nodejs v 15.4.0 和 npm 7.0.15 的兼容版本(在使用 apt-get 之前,它正在安装 npm 6.9.0)

,

对我来说,解决方案是删除项目的节点模块和凉亭组件文件夹。

,

就我而言(Mac),这是因为我在 npx 旁边安装了 n(替代 nvm)。

$ which npx
/usr/local/bin/npx

我删除了这个可执行文件,现在:

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

现在可以使用了。

,

在 macOS BigSur 上,我在执行时遇到了这个问题:

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

为了修复,我跑了

brew update

之后我被提示运行

brew upgrade

运行这两个命令解决了这个问题。

,

对于 linux 用户:

  1. 卸载 NPM,要执行此操作,请转到 /usr/local/lib/node_modules 并执行以下操作:

sudo rm -r n npm npx

  1. 卸载后,重新安装

npm 安装

  1. 即使在执行此操作后,在特定项目中尝试安装特定 npm 包时,您也可能会出现以下错误:

bash: /usr/local/bin/npm: 没有那个文件或目录

如果是这样,请在终端中运行:

hash -r

  1. 现在您可以重新尝试安装您想要的 npm 包。
,

2021 年 2 月修复:

npm install

然后将更改提交到 package-lock.json。这应该会更新您的所有依赖项,从而解决此问题。

更多信息:https://help.heroku.com/ZV7S7D6T/why-is-my-node-build-is-suddenly-displaying-npm-err-cb-apply-is-not-a-function(这发生在我在 heroku 上)

,

我在尝试运行 npx 时遇到了这个问题。

我发现 nvm 已从 PATH 中删除。

我将它重新添加到我的 .zshrc 文件中并且它起作用了。

,

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

并尝试 node 和 npm 版本

node -v
npm -v

如果安装后提示没有这样的node/npm,则

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

试试这个命令是否有效

npm -v
node -v

如果你想更新 npm/node 稳定版本

sudo npm install n -g
sudo n stable
,

我在Nodist上遇到了同样的问题。更改Node版本后,我的npm版本实际上与它不兼容。因此,如果您使用的是Nodist,请确保在切换Node版本(范围为全局,本地或环境)后运行nodist npm {scope} match

,

通过将节点更新为最新版本,此问题已为我解决。我读过here,这是由节点版本冲突引起的。 NVM是管理节点版本的好软件包。希望对您有所帮助;)

,

ubuntu解决方案=>

  1. 从系统中完全删除nodejs和npm。
sudo apt-get remove nodejs
sudo apt-get remove npm
  1. 从此参考(https://computingforgeeks.com/install-node-js-14-on-ubuntu-debian-linux/)安装节点-这将反过来安装最新的npm。
,

请注意,此问题可能与graceful-fs软件包有关。您可以尝试重新安装它:

npm install graceful-fs --save-dev
,

同样的错误只是在错误的文件夹中 -.-(不是打字稿项目)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...