Reputation: 2331
Recently I was having a problem installing an npm package (that used node-gyp). I tried upgrading the minor version of node from version 16.13.0 to 16.13.1 and upgrading my angular cli from 13.0.2 to 13.2.0. Once I got the package to install I generated a library with ng g library new-library
. I don't know what what actually broke it, but now whenever I try to build alibrary it produces an error. I try ng build my-lib
and get the below error.
✖ Compiling with Angular sources in Ivy partial compilation mode.
Transform failed with 1 error:
error: Invalid version: "15.2-15.3"
I tried reverting the version of node and angular cli but it didn't fix the problem. I even reverted the code to its original state and I get the error now. Is this a problem with my environment? How do I fix this issue?
Upvotes: 25
Views: 32291
Reputation: 3011
This is happening because the current version of your angular does not support the safari and ios version of 15.2-15.3.
This fix is available with angular version 13.2.1
But to fix this error in your version, what you have to do is to create a file in the root of your project named as .browserslistrc which will contain the following accepted browsers versions :
# 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
For more information on accepted browsers versions by angular you can refer :
https://angular.io/guide/browser-support
For bug issue thread visit
https://github.com/angular/angular-cli/issues/22606
Hope it will help you or somebody else...
Thanks!
Upvotes: 1
Reputation: 76
This was a bug in the Angular CLI that has been fixed. In your package.json
, update @angular/cli
to either 12.2.16
or 13.2.1
.
Source: https://github.com/angular/angular-cli/issues/22606#issuecomment-1026097996
Upvotes: 6
Reputation: 1271
Please follow this Github issue: https://github.com/angular/angular-cli/issues/22606
As a workaround you can add the below to your browserslist configuration.
not safari 15.2-15.3 # TODO: remove once https://github.com/angular/angular-cli/issues/22606 is fixed.
Upvotes: 1
Reputation: 241
You can try this solution
open .browserslistrc
and add
not ios_saf 15.2-15.3
not safari 15.2-15.3
Save the file and run again
ng build
Upvotes: 20
Reputation: 1032
Comment out Safari from the .browserslistrc
File, if you use Angular. This is a better Solution until there is a fix.
# last 2 Safari major version
Upvotes: 8