angular 13 ng构建库失败(ivy部分编译模式)
angular 13 ng build library fails (ivy partial compilation mode)
最近我在安装 npm 包(使用 node-gyp)时遇到问题。我尝试将节点的次要版本从版本 16.13.0 升级到 16.13.1,并将我的 angular cli 从 13.0.2 升级到 13.2.0。一旦我得到要安装的包,我就用 ng g library new-library
生成了一个库。我不知道究竟是什么破坏了它,但现在每当我尝试构建库时它都会产生错误。我尝试 ng build my-lib
并得到以下错误。
✖ Compiling with Angular sources in Ivy partial compilation mode.
Transform failed with 1 error:
error: Invalid version: "15.2-15.3"
我尝试恢复节点和 angular cli 的版本,但它没有解决问题。我什至将代码恢复到原来的状态,现在我得到了错误。这是我环境的问题吗?我该如何解决这个问题?
这是 Angular CLI 13.2.0
中的错误。
临时解决方案:
正在从根项目中删除配置 .browserslistrc
文件的内容。
more info
如果您使用 Angular,请从 .browserslistrc
文件中注释掉 Safari。在修复之前,这是一个更好的解决方案。
# last 2 Safari major version
您可以试试这个解决方案
打开.browserslistrc
并添加
not ios_saf 15.2-15.3
not safari 15.2-15.3
保存文件并运行再次
ng build
请关注这个 Github 问题:
https://github.com/angular/angular-cli/issues/22606
作为解决方法,您可以将以下内容添加到您的浏览器列表配置中。
not safari 15.2-15.3 # TODO: remove once https://github.com/angular/angular-cli/issues/22606 is fixed.
这是 Angular CLI 中的错误,已修复。在您的 package.json
中,将 @angular/cli
更新为 12.2.16
或 13.2.1
。
来源:https://github.com/angular/angular-cli/issues/22606#issuecomment-1026097996
发生这种情况是因为您的 angular 当前版本不支持 safari 和 ios 15.2-15.3 版本。
此修复适用于 angular 版本 13.2.1
但要在您的版本中修复此错误,您需要做的是在项目的根目录中创建一个名为 .browserslistrc 的文件,其中将包含以下可接受的浏览器版本:
# This file is used by the build system to adjust CSS and JS output to support the specified browsers below.
# For additional information regarding the format and rule options, please see:
# https://github.com/browserslist/browserslist#queries
# For the full list of supported browsers by the Angular framework, please see:
# https://angular.io/guide/browser-support
# You can see what browsers were selected by your queries by running:
# npx browserslist
last 1 Chrome version
last 1 Firefox version
last 2 Edge major versions
last 2 Safari major versions
last 2 iOS major versions
Firefox ESR
not IE 9-10 # Angular support for IE 9-10 has been deprecated and will be removed as of Angular v11. To opt-in, remove the 'not' prefix on this line.
not IE 11 # Angular supports IE 11 only as an opt-in. To opt-in, remove the 'not' prefix on this line.
not ios_saf 15.2-15.3
not safari 15.2-15.3
有关angular接受的浏览器版本的更多信息,您可以参考:
https://angular.io/guide/browser-support
错误问题线程访问
https://github.com/angular/angular-cli/issues/22606
希望对您或其他人有所帮助...
谢谢!
最近我在安装 npm 包(使用 node-gyp)时遇到问题。我尝试将节点的次要版本从版本 16.13.0 升级到 16.13.1,并将我的 angular cli 从 13.0.2 升级到 13.2.0。一旦我得到要安装的包,我就用 ng g library new-library
生成了一个库。我不知道究竟是什么破坏了它,但现在每当我尝试构建库时它都会产生错误。我尝试 ng build my-lib
并得到以下错误。
✖ Compiling with Angular sources in Ivy partial compilation mode.
Transform failed with 1 error:
error: Invalid version: "15.2-15.3"
我尝试恢复节点和 angular cli 的版本,但它没有解决问题。我什至将代码恢复到原来的状态,现在我得到了错误。这是我环境的问题吗?我该如何解决这个问题?
这是 Angular CLI 13.2.0
中的错误。
临时解决方案:
正在从根项目中删除配置 .browserslistrc
文件的内容。
more info
如果您使用 Angular,请从 .browserslistrc
文件中注释掉 Safari。在修复之前,这是一个更好的解决方案。
# last 2 Safari major version
您可以试试这个解决方案
打开.browserslistrc
并添加
not ios_saf 15.2-15.3
not safari 15.2-15.3
保存文件并运行再次
ng build
请关注这个 Github 问题: https://github.com/angular/angular-cli/issues/22606
作为解决方法,您可以将以下内容添加到您的浏览器列表配置中。
not safari 15.2-15.3 # TODO: remove once https://github.com/angular/angular-cli/issues/22606 is fixed.
这是 Angular CLI 中的错误,已修复。在您的 package.json
中,将 @angular/cli
更新为 12.2.16
或 13.2.1
。
来源:https://github.com/angular/angular-cli/issues/22606#issuecomment-1026097996
发生这种情况是因为您的 angular 当前版本不支持 safari 和 ios 15.2-15.3 版本。
此修复适用于 angular 版本 13.2.1
但要在您的版本中修复此错误,您需要做的是在项目的根目录中创建一个名为 .browserslistrc 的文件,其中将包含以下可接受的浏览器版本:
# This file is used by the build system to adjust CSS and JS output to support the specified browsers below.
# For additional information regarding the format and rule options, please see:
# https://github.com/browserslist/browserslist#queries
# For the full list of supported browsers by the Angular framework, please see:
# https://angular.io/guide/browser-support
# You can see what browsers were selected by your queries by running:
# npx browserslist
last 1 Chrome version
last 1 Firefox version
last 2 Edge major versions
last 2 Safari major versions
last 2 iOS major versions
Firefox ESR
not IE 9-10 # Angular support for IE 9-10 has been deprecated and will be removed as of Angular v11. To opt-in, remove the 'not' prefix on this line.
not IE 11 # Angular supports IE 11 only as an opt-in. To opt-in, remove the 'not' prefix on this line.
not ios_saf 15.2-15.3
not safari 15.2-15.3
有关angular接受的浏览器版本的更多信息,您可以参考:
https://angular.io/guide/browser-support
错误问题线程访问
https://github.com/angular/angular-cli/issues/22606
希望对您或其他人有所帮助...
谢谢!