将库项目升级到 Angular 12?

Upgrading library projects to Angular 12?

我正在尝试 运行 在图书馆项目/有工作区的项目上这样做:

ng update @angular/core @angular/cli @angular/material

它在一个项目上有效,但对于其余项目,我总是得到:

Cannot locate bin for temporary package: @angular/cli

有什么想法吗?

升级到 ng 12 后我遇到了同样的问题。
我们使用 nrwl/nx 这让一切变得更加棘手......

解决方法

  • 全局安装angular cli:
    npm install -g @angular/cli@latest
  • 现在获取此安装的路径,例如在新的 git-bash 终端中(在我的项目之外):
    which ng
    • 将打印例如/c/Program Files/nodejs/ng
      这应该是我们刚刚安装的最新版本
    • 执行 "/c/Program Files/nodejs/ng" --version 以确保您拥有最新版本(12.0.3 在我的例子中
  • 现在我可以 运行 我的更新:例如"/c/Program Files/nodejs/ng" update @angular/flex-layout @angular/cdk @angular/material

备注

  • 也许这个 fix 会有所帮助 - 应该会在 ng 12.1
  • 中出现
  • 我认为这是一个相关的错误报告:angular-cli#20843

尝试删除 node_modules 文件夹和 package-lock.json 文件,然后 运行 使用以下命令:

npm install

或者

npm uninstall -g @angular/cli

npm install -g @angular/cli