-
Notifications
You must be signed in to change notification settings - Fork 3.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] Can't create a new project using either angular or ionic cli #2667
Labels
Bug
thing that needs fixing
Needs Triage
needs review for next steps
Release 7.x
work is associated with a specific npm 7 release
Comments
donhmorris
added
Bug
thing that needs fixing
Needs Triage
needs review for next steps
Release 7.x
work is associated with a specific npm 7 release
labels
Feb 10, 2021
Can you please share the file |
I believe that the root cause of this is likely npm/arborist#223 |
isaacs
added a commit
to npm/arborist
that referenced
this issue
Feb 11, 2021
For these dependency graphs: # case a root -> (x, y@1) x -> PEEROPTIONAL(z) z -> PEER(y@2) # case b root -> (x) PEEROPTIONAL(y@1) x -> PEEROPTIONAL(y@2) # case c root -> (x) PEEROPTIONAL(y@1) x -> PEER(z) z -> PEEROPTIONAL(y@2) The peerOptional dependency is included in the peerSet, which would raise an ERESOLVE conflict at the peerSet generation stage, even though the peerOptional dependencies will not actually be added to the tree. To address this, this commit tracks the nodes which are actually required in the peerSet generation phase, by virtue of being non-optionally depended upon by a required node in the peerSet. If a conflict occurs on a node which is not in the required set during the peerSet generation phase, we ignore it in much the same way that we would ignore peerSet errors in metadependencies or when --force is used. Of course, if the peerOptional dependency is _actually_ required, to avoid a conflict with an invalid resolution present in the tree already, and there is no suitable placement for it, then ERESOLVE will still be raised. Fix: #223 Fix: npm/cli#2667
isaacs
added a commit
to npm/arborist
that referenced
this issue
Feb 11, 2021
For these dependency graphs: # case a root -> (x, y@1) x -> PEEROPTIONAL(z) z -> PEER(y@2) # case b root -> (x) PEEROPTIONAL(y@1) x -> PEEROPTIONAL(y@2) # case c root -> (x) PEEROPTIONAL(y@1) x -> PEER(z) z -> PEEROPTIONAL(y@2) The peerOptional dependency is included in the peerSet, which would raise an ERESOLVE conflict at the peerSet generation stage, even though the peerOptional dependencies will not actually be added to the tree. To address this, this commit tracks the nodes which are actually required in the peerSet generation phase, by virtue of being non-optionally depended upon by a required node in the peerSet. If a conflict occurs on a node which is not in the required set during the peerSet generation phase, we ignore it in much the same way that we would ignore peerSet errors in metadependencies or when --force is used. Of course, if the peerOptional dependency is _actually_ required, to avoid a conflict with an invalid resolution present in the tree already, and there is no suitable placement for it, then ERESOLVE will still be raised. Fix: #223 Fix: npm/cli#2667
isaacs
added a commit
to npm/arborist
that referenced
this issue
Feb 11, 2021
For these dependency graphs: # case a root -> (x, y@1) x -> PEEROPTIONAL(z) z -> PEER(y@2) # case b root -> (x) PEEROPTIONAL(y@1) x -> PEEROPTIONAL(y@2) # case c root -> (x) PEEROPTIONAL(y@1) x -> PEER(z) z -> PEEROPTIONAL(y@2) The peerOptional dependency is included in the peerSet, which would raise an ERESOLVE conflict at the peerSet generation stage, even though the peerOptional dependencies will not actually be added to the tree. To address this, this commit tracks the nodes which are actually required in the peerSet generation phase, by virtue of being non-optionally depended upon by a required node in the peerSet. If a conflict occurs on a node which is not in the required set during the peerSet generation phase, we ignore it in much the same way that we would ignore peerSet errors in metadependencies or when --force is used. Of course, if the peerOptional dependency is _actually_ required, to avoid a conflict with an invalid resolution present in the tree already, and there is no suitable placement for it, then ERESOLVE will still be raised. Fix: #223 Fix: npm/cli#2667
isaacs
added a commit
to npm/arborist
that referenced
this issue
Feb 11, 2021
For these dependency graphs: # case a root -> (x, y@1) x -> PEEROPTIONAL(z) z -> PEER(y@2) # case b root -> (x) PEEROPTIONAL(y@1) x -> PEEROPTIONAL(y@2) # case c root -> (x) PEEROPTIONAL(y@1) x -> PEER(z) z -> PEEROPTIONAL(y@2) The peerOptional dependency is included in the peerSet, which would raise an ERESOLVE conflict at the peerSet generation stage, even though the peerOptional dependencies will not actually be added to the tree. To address this, this commit tracks the nodes which are actually required in the peerSet generation phase, by virtue of being non-optionally depended upon by a required node in the peerSet. If a conflict occurs on a node which is not in the required set during the peerSet generation phase, we ignore it in much the same way that we would ignore peerSet errors in metadependencies or when --force is used. Of course, if the peerOptional dependency is _actually_ required, to avoid a conflict with an invalid resolution present in the tree already, and there is no suitable placement for it, then ERESOLVE will still be raised. Fix: #223 Fix: npm/cli#2667
Was there a code change implemented for this problem? |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Bug
thing that needs fixing
Needs Triage
needs review for next steps
Release 7.x
work is associated with a specific npm 7 release
Current Behavior:
Get an error when creating an ionic app using angular.
Get this error while creating the project:
Expected Behavior:
Successfully create ionic project and install dependencies
Steps To Reproduce:
ionic command: ionic start test3
choose angular and then sidemenu
Environment:
If I install NPM 6.14.11 and keep everything else the same, ionic works fine.
The text was updated successfully, but these errors were encountered: