Node.js npm错误!cb.apply不是一个函数

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版本是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/node_模块”
  • 删除“n”、“npm”、“npm-clean”、“npm-install-peers”。这意味着删除所有与节点和npm相关的文件夹
  • 再次安装npm
  • ubuntu的解决方案=>

  • 从系统中完全删除nodejs和npm
  • 从该引用()安装节点-这将安装最新的npm

  • 我和诺德斯特也有同样的问题。更改节点版本后,我的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所激发的灵感:

  • 进入“C:\Users\me\AppData\Roaming\npm\node\u模块”
  • 删除“npm”目录
  • npm安装
    我的项目,并保持正常工作
  • Mac/Macbook用户 由于这个问题相当活跃,而且是谷歌在这个问题上的一个顶级结果(我知道OP使用的是Linux),我们在这个列表中涵盖了所有其他操作系统。下面是如何在Mac上修复它


    在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