当前位置: 首页 > 知识库问答 >
问题:

"错误TS2694:命名空间'角'没有导出成员'xxx'"升级@类型/角

缪宪
2023-03-14

将angular和@types/angular版本升级到1.6版后。x我有很多TS2694错误:

error TS2694: Namespace 'angular' has no exported member 'material'
error TS2694: Namespace 'angular' has no exported member 'ui'
error TS2694: Namespace 'angular' has no exported member 'translate'

这在更改版本号之前工作正常。

是什么导致了这个问题?

共有3个答案

李奕
2023-03-14

我必须卸载所有节点模块并再次安装它们,对于卸载类型rm-r node_modulesclean node modules for install just typenpm install

戚升
2023-03-14

这个问题与我的node_模块中的几个角度类型定义有关。角度类型在node_modules/@types/Angularnode_modules/@types/ng文件上传/node_modules/@types/Angular中定义。

这是因为不同版本的纱线具有不同的角度。我在纱线中有两个不同分辨率的角度输入。锁定文件:

"@types/angular@*":
  version "1.6.7"
  resolved "https://registry.yarnpkg.com/@types/angular/-/angular-1.6.7.tgz#8935a2b4a796fe7ca4f59f533f467804722fb0c4"
  dependencies:
    "@types/jquery" "*"

"@types/angular@1.6.x":
  version "1.6.32"
  resolved "https://registry.yarnpkg.com/@types/angular/-/angular-1.6.32.tgz#fc791aad038227d9413eb5e552993e1076f8a509"

"@types/ng-file-upload@^11.1.31":
  version "11.1.34"
  resolved "https://registry.yarnpkg.com/@types/ng-file-upload/-/ng-file-upload-11.1.34.tgz#670fd0515c8e08668b27b7bbe30356b3b8011780"
  dependencies:
    "@types/angular" "*"

移除yarn.lock并重新运行纱线安装解决了这个问题,但在我的情况下,它修改了太多其他依赖项。

使用Thread install--flat可能已经解决了这个问题,但我不想改变所有依赖项的解决方式。

所以我通过手动更换纱线解决了这个问题。将文件锁定到

"@types/angular@*", "@types/angular@1.6.x":
  version "1.6.32"
  resolved "https://registry.yarnpkg.com/@types/angular/-/angular-1.6.32.tgz#fc791aad038227d9413eb5e552993e1076f8a509"

"@types/ng-file-upload@^11.1.31":
  version "11.1.34"
  resolved "https://registry.yarnpkg.com/@types/ng-file-upload/-/ng-file-upload-11.1.34.tgz#670fd0515c8e08668b27b7bbe30356b3b8011780"
  dependencies:
    "@types/angular" "*"
卫沈义
2023-03-14

像上面接受的答案那样手动编辑文件给我带来了一些问题。

运行“纱线升级”或更改某些软件包将恢复手动编辑的更改,我的应用程序将再次被破坏。

为了解决这个问题,我在包中添加了一个解决方案。json修复了解析不同版本的问题。

"resolutions": {
  "**/@types/angular": "1.6.20"
 },
 类似资料: