Node.js npm错误!cb.apply不是一个函数
虽然我的npm版本是6.9.0,但我在Linux中安装npm时遇到错误“npm ERR!cb.apply不是函数”。我的节点版本是v12.18.3。如何解决此问题?如果您共享的是Windows或Linux,则会很有帮助,但错误似乎发生在Windows上:Node.js npm错误!cb.apply不是一个函数,node.js,npm,npm-install,Node.js,Npm,Npm Install,虽然我的npm版本是6.9.0,但我在Linux中安装npm时遇到错误“npm ERR!cb.apply不是函数”。我的节点版本是v12.18.3。如何解决此问题?如果您共享的是Windows或Linux,则会很有帮助,但错误似乎发生在Windows上: 在那之后,npm安装应该可以正常工作。Ciao,这个问题可以连接到优雅的fs软件包。您可以尝试重新安装它: npm install graceful-fs --save-dev Ubuntu 18.04的解决方案=> 访问“usr/lib/n
在那之后,
npm安装
应该可以正常工作。Ciao,这个问题可以连接到优雅的fs
软件包。您可以尝试重新安装它:
npm install graceful-fs --save-dev
Ubuntu 18.04的解决方案=>
我和诺德斯特也有同样的问题。更改节点版本后,我的npm版本实际上与它不兼容。因此,如果您使用的是节点列表,请确保在切换节点版本后运行
Nodist npm{scope}match
,其中作用域可以是全局、本地或环境。我从不同的帖子和谷歌页面尝试了很多解决方案,但没有任何效果
最后,我清理了node、nodejs和npm的所有痕迹。吹扫呼叫后,可能需要一些手动强制移除。然后使用nvm安装
它为我解决了这个问题。它得到了nodejsv15.4.0和npm7.0.15的兼容版本(在使用apt-get之前,它安装了npm6.9.0)在我的例子中,它确实是
优雅的fs
包。运行
npm i -g --force graceful-fs
修正了这个问题。我以前也运行过
nodist npm{scope}match
,但我不确定这是否必要。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
如果在您已经安装之后,它说没有这样的节点/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/节点稳定版本
sudo npm install n -g
sudo n stable
Windows解决方案:
在我的例子中,我不想删除“C:/users/me/AppData/Roaming/”中的所有npm目录,因为我有许多已经存在和安装的全局模块
以上@user14360499所激发的灵感:
npm安装
我的项目,并保持正常工作在Mac上,您没有
AppData\Roaming
文件夹,因此只需运行npm root-g
,然后导航到隐藏目录并删除那里的节点模块。如果使用nvm
您需要重新运行nvm use x.x.x
(其中x.x.x
是您的版本)。我在尝试运行npx
时遇到此问题
我发现nvm
已从路径中删除
我将其添加回.zshrc文件中,它成功了。2021年2月修复:
npm install
然后将更改提交到package lock.json
。这将更新所有依赖项,从而解决此问题
更多信息:(这发生在我的heroku上)对于linux用户:
卸载NPM,要执行此操作,请转到/usr/local/lib/node\u模块,然后执行以下操作:
sudo rm-r n npm npx
卸载后,重新安装它:
npm安装
即使在执行此操作后,在特定项目中尝试安装特定npm软件包时,也可能会出现以下错误:
bash:/usr/local/bin/npm:没有这样的文件或目录
如果是,在终端中只需运行:
hash-r
现在,您可以重新安装所需的npm软件包
在macOS BigSur上,我在执行时遇到了以下问题:
npx install-peerdeps --dev eslint-config-airbnb
为了解决这个问题,我跑了
brew update
之后,我被提示跑步
brew upgrade
运行这两个命令修复了问题。在我的情况下(Mac),这是因为我在n
旁边安装了npx
(nvm
的替代品)
我删除了此可执行文件,现在:
$ which npx
/Users/MY_USER/n/bin/npx
它现在可以工作了。有相同的错误,只是在错误的文件夹中-。-(不是typescript项目)这解决了我的问题。谢谢在我的Windows计算机上,它是
npm-cache-clean
(不是npm-clean-cache
)。我删除了目录,但还必须删除与nodejs和其他一些资源相关的环境变量。为了补充上述解决方案,请确保与nodejs相关的“一切”都从机器上清除干净。这对我来说非常有效。谢谢这很有效,谢谢!嗨,巴奇,看起来你这里既有答案又有问题。请把它们分开。不过,在这样做之前,请看看我们社区的一个问题是否已经解决了同样的问题。谢谢。为我工作-谢谢!虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,则仅链接的答案可能无效-
brew upgrade
$ which npx
/usr/local/bin/npx
$ which npx
/Users/MY_USER/n/bin/npx