Skip to content
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

Extraneous "unmet peer dependency" warning #4595

Closed
OliverJAsh opened this issue Sep 30, 2017 · 11 comments
Closed

Extraneous "unmet peer dependency" warning #4595

OliverJAsh opened this issue Sep 30, 2017 · 11 comments

Comments

@OliverJAsh
Copy link

Node 8.1.4, Yarn 1.1.0

Do you want to request a feature or report a bug?
Bug

What is the current behavior?

If the current behavior is a bug, please provide the steps to reproduce.

yarn add typescript
yarn add tslint
yarn add ix
yarn add tslib@^1.7.1

ix has a peer dependency of tslib@^1.7.1: https://github.com/ReactiveX/IxJS/blob/71277717f15bdf100218252326a2c95ea05d4b8a/package.json#L52

This peer dependency has been met, however, yarn warns that this has not been met:

❯ yarn add tslib@^1.7.1
yarn add v1.1.0
[1/4] 🔍  Resolving packages...
[2/4] 🚚  Fetching packages...
[3/4] 🔗  Linking dependencies...
warning "ix@2.1.0" has unmet peer dependency "tslib@^1.7.1".
[4/4] 📃  Building fresh packages...
success Saved 0 new dependencies.
✨  Done in 0.98s.

I believe the issue only occurs when another dependency shares the peer dependency but as a normal dependency instead, as it the case with tslint, which depends on tslib@^1.7.1: https://github.com/palantir/tslint/blob/5ffec0910ff32e4b402859851822b1d1fe8eb3cf/package.json#L48

@leikind
Copy link

leikind commented Oct 2, 2017

I think have a similar problem:

warning "url-loader@0.5.9" has unmet peer dependency "file-loader@*".

but I do have file-loader installed.

@BYK
Copy link
Member

BYK commented Oct 3, 2017

I think this will be fixed by #4613. I tried to reproduce this locally with the patch applied and wasn't able to.

@kaylie-alexa
Copy link
Member

I can't repro either on latest master @OliverJAsh can you try one of the nightly builds? https://yarnpkg.com/en/docs/nightly

@bogdansoare
Copy link

also have a problem where a package says that it has unmet peer dependency , but the dependency is installed, I thought this was fixed in 1.2

@leikind
Copy link

leikind commented Oct 11, 2017

A changelog would help users find out whether a certain bug is fixed or not, but there is no changelog.

@edmorley
Copy link
Contributor

The issue as reported in the OP looks fixed to me in latest yarn (1.2.1), so this can be closed.

also have a problem where a package says that it has unmet peer dependency , but the dependency is installed, I thought this was fixed in 1.2

There are likely multiple causes, could you file a new issue with full STR? :-)
(See also #4675 which is peer dependency warnings from transitive dependencies)

@BYK
Copy link
Member

BYK commented Oct 16, 2017

Yeah, I've also verified that I cannot repro this on latest master (post 1.2.1) so closing.

@BYK BYK closed this as completed Oct 16, 2017
@leikind
Copy link

leikind commented Oct 16, 2017

if it is fixed, what am I doing wrong?

→ yarn install --check-files
yarn install v1.2.1
warning package.json: No license field
warning No license field
[1/5] 🔍  Validating package.json...
[2/5] 🔍  Resolving packages...
[3/5] 🚚  Fetching packages...
[4/5] 🔗  Linking dependencies...
warning "postcss-cssnext@3.0.2" has unmet peer dependency "caniuse-lite@^1.0.30000697".
warning "url-loader@0.5.9" has unmet peer dependency "file-loader@*".
warning "webpack-dev-server@2.9.1" has unmet peer dependency "webpack@^2.2.0 || ^3.0.0".
warning "webpack-dev-middleware@1.12.0" has unmet peer dependency "webpack@^1.0.0 || ^2.0.0 || ^3.0.0".
[5/5] 📃  Building fresh packages...
✨  Done in 16.53s.

→ grep 'file-loader' yarn.lock
    file-loader "^0.11.2"
file-loader@^0.11.2:
  resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-0.11.2.tgz#4ff1df28af38719a6098093b88c82c71d1794a34"

file-loader is installed

@edmorley
Copy link
Contributor

There are likely multiple causes, could you file a new issue with full STR? :-)

@phlegx
Copy link

phlegx commented Nov 3, 2017

I get the same warnings:

$ yarn install --check-files
yarn install v1.2.1
[1/4] Resolving packages...
[2/4] Fetching packages...
info fsevents@1.1.2: The platform "linux" is incompatible with this module.
info "fsevents@1.1.2" is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
warning "postcss-cssnext@3.0.2" has unmet peer dependency "caniuse-lite@^1.0.30000697".
warning "vue-loader@13.3.0" has unmet peer dependency "css-loader@*".
warning "webpack-dev-server@2.9.4" has unmet peer dependency "webpack@^2.2.0 || ^3.0.0".
warning "webpack-dev-middleware@1.12.0" has unmet peer dependency "webpack@^1.0.0 || ^2.0.0 || ^3.0.0".
[4/4] Building fresh packages...
Done in 8.07s.

My package.json looks like this:

{
  "name": "example_app",
  "private": true,
  "dependencies": {
    "@rails/webpacker": "^3.0.2",
    "coffeescript": "^2.0.2",
    "vue": "^2.5.2",
    "vue-loader": "^13.3.0",
    "vue-template-compiler": "^2.5.2",
  },
  "devDependencies": {
    "webpack-dev-server": "^2.9.4"
  }
}

@growthcode
Copy link

growthcode commented Nov 26, 2017

@phlegx I was able to fix it after some guessing... I'm new to yarn but fixed 4 warnings including the one here.

[1/4] 🔍  Resolving packages...
[2/4] 🚚  Fetching packages...
[3/4] 🔗  Linking dependencies...
warning "@rails/webpacker > postcss-cssnext@3.0.2" has unmet peer dependency "caniuse-lite@^1.0.30000697".
warning " > vue-loader@13.5.0" has unmet peer dependency "css-loader@*".
warning " > eslint-config-standard@10.2.1" has unmet peer dependency "eslint-plugin-standard@>=3.0.0".
warning " > webpack-dev-server@2.9.4" has unmet peer dependency "webpack@^2.2.0 || ^3.0.0".
warning "webpack-dev-server > webpack-dev-middleware@1.12.1" has unmet peer dependency "webpack@^1.0.0 || ^2.0.0 || ^3.0.0".
[4/4] 📃  Building fresh packages...
success Saved lockfile.
success Saved 1 new dependency.
└─ eslint-plugin-promise@3.6.0
✨  Done in 5.03s.

I'll list my fixes individually so you can see the pattern:

# 1) @rails/webpacker > postcss-cssnext@3.0.2" has unmet peer dependency "caniuse-lite@^1.0.30000697".
bin/yarn add caniuse-lite@^1.0.30000697
# 2) warning " > vue-loader@13.5.0" has unmet peer dependency "css-loader@*".
bin/yarn upgrade css-loader -p
# 3) warning " > webpack-dev-server@2.9.4" has unmet peer dependency "webpack@^2.2.0 || ^3.0.0".
# 4) warning "webpack-dev-server > webpack-dev-middleware@1.12.1" has unmet peer dependency "webpack@^1.0.0 || ^2.0.0 || ^3.0.0".
yarn upgrade webpack@^2.2.0 || ^3.0.0

Be sure to use the appropriate dependency flags referenced in the warning, more info here:
https://yarnpkg.com/lang/en/docs/managing-dependencies/

After I ran those lines... I got what I spent hours trying to achieve... 0 warnings 😄 :

⇒  yarn install --check-files
yarn install v1.3.2
[1/4] 🔍  Resolving packages...
[2/4] 🚚  Fetching packages...
[3/4] 🔗  Linking dependencies...
[4/4] 📃  Building fresh packages...
✨  Done in 7.45s.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants