作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我刚刚从 Angular guide 下载了示例测试项目: https://angular.io/generated/zips/testing/testing.zip
当我执行 ng serve
时出现错误:
src/testing/jasmine-matchers.d.ts(3,67):错误 TS2694:命名空间“jasmine”没有导出成员“CustomMatcher”。
我是 Angular 的新手。有人可以帮助我了解问题所在吗?
我已经完成了 npm install
,当我转到 node_modules/@types/jasmine 时,我可以看到 CustomMatchers 是在 index.d.ts 中定义的
Angular 7
typescript 3.0
"@types/jasmine": "^2.8.14",
"@types/jasminewd2": "^2.0.4",
"@types/node": "~8.9.4",
"jasmine-core": "~2.99.1",
"jasmine-marbles": "^0.4.0",
"jasmine-spec-reporter": "~4.2.1",
"karma": "~3.0.0",
最佳答案
事实证明,错误是由 Typescript 和 @types/jasmine 包的不兼容版本引起的。以下版本应该可以工作:
Angular CLI: 6.2.9
Node: 10.11.0
OS: darwin x64
Angular: 6.1.10
typescript 2.7.2
"@types/jasmine": "2.8.9"
为了安装正确的版本,请执行以下操作:
删除 package-lock.json 和 node_modules/ 然后执行 npm cache clean --force
和 npm install
关于Angular 编译器找不到 jasmine.CustomMatchers,即使它在 @types/jasmine 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54244040/
我刚刚从 Angular guide 下载了示例测试项目: https://angular.io/generated/zips/testing/testing.zip 当我执行 ng serve 时出
我是一名优秀的程序员,十分优秀!