如何解决npm 运行测试错误 TypeError:Date.now() 不是函数,并且 ELIFECYCLE 自从更新 Mac OS Big Sur 11.2 以来找不到模块“code-point-at”
我正在使用 Node.js 和 Firebase 在 Typescript 中为应用程序构建我的第一个后端。我现在可以毫无错误地编译我的代码,但是在使用 Mocha 运行测试时我遇到了问题。
我有两个问题。
首先,我一直在试图理解为什么我会收到错误
TypeError: Date.Now() is not a function.
我已经搜索了此类错误的所有答案,但没有解决问题。这个错误只发生在有“before each”或“before all”钩子的地方。
但是,自从昨晚将我的 MacOS 软件更新到 Big Sur 11.2 后,我现在收到了以下 ELIFECYCLE 错误,这是我以前从未见过的。
Error: Cannot find module 'code-point-at'
Require stack:
然后
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! functions@ test: `mocha -r ts-node/register test/**/*.spec.ts --timeout 5000`
npm ERR! Exit status 1
我检查了已安装软件包的版本,并尝试了 npm update。我还更新了我的 firebase 工具和 firebase 模块到最新版本,以及关闭和重新打开项目和 VS 代码。这些操作确实消除了自操作系统更新以来出现的一些构建错误,但我仍然有测试错误无法找到模块 'code-point-at'...
我的ts.config是这样的
"compilerOptions": {
"lib": [
"es6","ESNext.AsyncIterable"
],"module": "commonjs","noImplicitReturns": true,//"noUnusedLocals": true,"outDir": "lib","sourceMap": true,//"strict": true,"target": "es6",//"moduleResolution":"Node","resolveJsonModule": true,"esModuleInterop": true
},"compileOnSave": true,"include": [
"src","test","./typings.d.ts",]
}
这是我的 package.json
{
"name": "functions","scripts": {
"lint": "eslint \"src/**/*\"","prettier-format": "prettier --config .prettierrc 'src/**/*.ts' --write","build": "tsc","serve": "npm run build && firebase emulators:start --only functions","shell": "npm run build && firebase functions:shell","start": "npm run shell","deploy": "firebase deploy --only functions","logs": "firebase functions:log","copy": "copyfiles -u 1 src/**/*.json lib/","test": "mocha -r ts-node/register test/**/*.spec.ts --timeout 5000"
},"engines": {
"node": "12"
},"main": "lib/index.js","dependencies": {
"@google-cloud/firestore": "^4.9.1","express": "^4.17.1","firebase-admin": "^9.4.2","firebase-functions": "^3.13.1","googleapis": "^67.0.0"
},"devDependencies": {
"@types/chai": "^4.2.14","@types/mocha": "^8.2.0","@types/node": "^14.14.22","@typescript-eslint/eslint-plugin": "^4.14.2","@typescript-eslint/parser": "^4.14.2","chai": "^4.2.0","copyfiles": "^2.4.1","eslint": "^7.19.0","eslint-config-prettier": "^7.2.0","eslint-plugin-import": "^2.22.0","eslint-plugin-prettier": "^3.3.1","eslint-plugin-promise": "^4.2.1","firebase-functions-test": "^0.2.0","mocha": "^8.2.1","prettier": "^2.2.1","ts-node": "^9.1.1","typescript": "^4.1.3"
},"private": true
}
似乎 ELIFECYLE 错误与昨晚我的 MacOS 更新有关,因为我在那之前没有得到它。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。