Jan*_*aki 54 node.js npm npm-install
尽管我的 npm 版本是 6.9.0,但我在 Linux 中执行 npm install 时收到此错误“npm ERR!cb.apply 不是函数”。我的节点版本是 v12.18.3。如何解决这个问题?
Mar*_*ski 86
如果您在 Windows 或 Linux 上共享会有所帮助,但错误似乎发生在 Windows 上。可能的解决方案:
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)
Run Code Online (Sandbox Code Playgroud)
之后,npm install应该可以正常工作。
jac*_*kim 16
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
Run Code Online (Sandbox Code Playgroud)
然后尝试node和npm版本:
node -v
npm -v
Run Code Online (Sandbox Code Playgroud)
如果安装后提示没有这样的node/npm,那么:
sudo ln -s /usr/bin/node /usr/local/bin/node
sudo ln -s /usr/bin/npm /usr/local/bin/npm
Run Code Online (Sandbox Code Playgroud)
如果命令有效,请尝试以下操作:
npm -v
node -v
Run Code Online (Sandbox Code Playgroud)
如果您想更新 npm/node 稳定版本:
sudo npm install n -g
sudo n stable
Run Code Online (Sandbox Code Playgroud)
max*_*uty 15
由于这个问题相当活跃,并且是这个问题的顶级谷歌结果(我知道 OP 正在使用 Linux),并且我们在此列表中涵盖了所有其他操作系统。这是在 Mac 上修复它的方法。
在 Mac 上,您没有该AppData\Roaming文件夹,因此只需运行npm root -g然后导航到隐藏目录并删除node_modules那里。如果使用,nvm您需要重新运行nvm use x.x.x(x.x.x您的版本在哪里)。
adi*_*gil 10
Windows 解决方案:
就我而言,我不想删除“C:/users/me/AppData/Roaming/”中的所有 npm 目录,因为我有许多已经存在并安装的全局模块。
上面@user14360499 的启发是什么:
npm install 我的项目,并像往常一样继续工作我对 Nodist 也有同样的问题。更改 Node 版本后,我的 npm 版本实际上与其不兼容。因此,如果您使用Nodist,请确保在切换Node版本后运行nodist npm {scope} match,其中作用域是全局、本地或env。
对我来说,在 Centos 7 上,它是关于删除graceful-ts本地使用的npx. 首先,我必须打开错误消息中提到的日志文件:
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
Run Code Online (Sandbox Code Playgroud)
在该日志文件中有这样的路径:
verbose stack at /usr/local/lib/node_modules/npx/node_modules/npm/node_modules/graceful-fs/polyfills.js:287:18
Run Code Online (Sandbox Code Playgroud)
所以我删除了整个graceful-fs目录并再次运行 npx 。一切顺利。
rm -fR /usr/local/lib/node_modules/npx/node_modules/npm/node_modules/graceful-fs
Run Code Online (Sandbox Code Playgroud)
小智 6
当我尝试使用 npx 时,出现了同样的错误(macOS Big Sur) 。
当我运行时我如何修复它(使用 nvm) :
nvm ls
Run Code Online (Sandbox Code Playgroud)
使固定:
nvm alias default node
nvm install 'lts/*'
Run Code Online (Sandbox Code Playgroud)