错误 cb.apply 不是 Node Express 项目中的功能 [尝试安装软件包时] --
Posted
技术标签:
【中文标题】错误 cb.apply 不是 Node Express 项目中的功能 [尝试安装软件包时] --【英文标题】:ERROR cb.apply is not a function [while trying to install packages] in Node Express project -- 【发布时间】:2021-12-07 06:39:00 【问题描述】:我在尝试将 npm 包安装到我的项目时遇到以下错误。它基本上是一个 Node、Express webapi 项目。如您所见,项目需要其他包,如 mssql cors。
我的 package.json 文件。
"name": "NEBAppDemo",
"version": "1.0.0",
"description": "blablabla",
"main": "index.js",
"scripts":
"test": "echo \"Error: no test specified\" && exit 1",
"start": "nodemon api.js"
,
"dependencies":
"body-parser": "~1.0.1",
"cors": "2.8.1",
"express": "~4.0.0",
"mssql": "^6.2.1"
,
"devDependencies":
"nodemon": "^2.0.4"
,
"keywords": [],
"author": "PGChoudhury",
"license": "ISC"
我安装的节点版本是 16.10.0。已安装 npm 版本 6.1.0。
运行时出现的错误 npm i 是
npm WARN npm npm does not support Node.js v16.10.0
npm WARN npm You should probably upgrade to a newer version of node as we
npm WARN npm can't make any promises that npm will work with this version.
npm WARN npm Supported releases of Node.js are the latest release of 6, 8, 9, 10, 11.
npm ERR! cb.apply is not a function
我之前在其他项目中遇到过同样的错误。找不到稳定、可靠的修复方法。 'cb.apply not a function' 是什么意思。这是什么意思?什么是依赖项?毫无意义,包还原应该正常运行。 一些答案pl。需要做什么
显然它正在为错误创建一个日志文件。就是这么说的。
0 info it worked if it ends with ok
1 warn npm npm does not support Node.js v16.10.0
2 warn npm You should probably upgrade to a newer version of node as we
3 warn npm can't make any promises that npm will work with this version.
4 warn npm Supported releases of Node.js are the latest release of 6, 8, 9, 10, 11.
5 warn npm You can find the latest version at https://nodejs.org/
6 verbose cli [
6 verbose cli 'C:\\Program Files\\nodejs\\node.exe',
6 verbose cli 'C:\\Users\\PROTIK\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js',
6 verbose cli 'i',
6 verbose cli 'express',
6 verbose cli '-save'
6 verbose cli ]
7 info using npm@6.1.0
blablabla ..
blabla..
12 verbose stack TypeError: cb.apply is not a function
12 verbose stack at C:\Users\....\....\node_modules\npm\node_modules\graceful-fs\polyfills.js:287:18
12 verbose stack at FSReqCallback.oncomplete (node:fs:199:5)
blabla
blablalbla...
15 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\.....\\AppData\\....\\....\\node_modules\\npm\\bin\\npm-cli.js" "i" "express" "-save"
16 verbose node v16.10.0
17 verbose npm v6.1.0
18 error cb.apply is not a function
19 verbose exit [ 1, true ]
在其中发现一些重要的直接相关的东西?
【问题讨论】:
Supported releases of Node.js are the latest release of 6, 8, 9, 10, 11
- 您使用的是 16,这不是其中之一。
嗨,那么这行说 ---> 你可能应该升级到更新版本的节点,因为我们不能保证 npm 将与这个版本一起工作。 8, 9,10, 11 都比 16 旧.. 我要降级到更低版本?? @jonrsharpe
是的,或者升级 NPM。或者只是使用例如nvm 一起管理它们。
升级 npm 听起来更理智,@jonrsharpe 让我检查一下
目前还不清楚当您尝试升级 NPM 时实际发生了什么,但如果您看到完全同样的错误,那显然是行不通的。
【参考方案1】:
您需要安装 npm 7.0.0 或更高版本才能运行 node v16。 https://nodejs.org/en/download/releases/
【讨论】:
您好,@Sooraj-s 让我看看变更表;上面提供了更多建议;等等,看起来更新 npm 是一个明智的选择 还是不行。用管理员权限打开 cmd。并运行 npm i -g npm。这给了我与原始错误相同的错误。 !这个链接--->docs.npmjs.com/downloading-and-installing-node-js-and-npm以上是关于错误 cb.apply 不是 Node Express 项目中的功能 [尝试安装软件包时] --的主要内容,如果未能解决你的问题,请参考以下文章
gitbook出现TypeError: cb.apply is not a function解决办法