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

Checker does not follow node-semver rules for beta versions #19

Closed
indirect opened this issue Jan 13, 2015 · 6 comments
Closed

Checker does not follow node-semver rules for beta versions #19

indirect opened this issue Jan 13, 2015 · 6 comments

Comments

@indirect
Copy link

My package.json contains this line: "ember-cli-sass": "^3.0.3",. Trying to run ember build results in this message:

Missing npm packages: 
Package: ember-cli-sass
  * Specified: ^3.0.3
  * Installed: 3.1.0-beta

Run `npm install` to install missing dependencies.

According to the node-semver documentation about prereleases, version 3.1.0-beta does in fact satisfy the specifier ^3.0.3. Pretty sure it is right, because npm install installed version 3.1.0-beta. Please either follow the specifier rules used by the package managers or change the error message to explain why you don't follow them and how to fix the problem. The error message says to run npm install, and that is just flat out wrong.

@quaertym
Copy link
Owner

Well, this it the node console output:

> var semver = require('semver');
undefined
> semver.satisfies('3.1.0-beta', '^3.0.3')
false
> semver.satisfies('3.1.0', '^3.0.3')
true

This is using the last released version (4.2.0) of semver package. If you think this is a bug then submit an issue to semver package.

@indirect
Copy link
Author

okay, fine, it doesn't satisfy semver, but that means your error message is completely wrong. npm install doesn't help at all.

On Tue, Jan 13, 2015 at 5:51 PM, Emre Unal [email protected]
wrote:

Well, this it the node console output:

> var semver = require('semver');
undefined
> semver.satisfies('3.1.0-beta', '^3.0.3')
false
> semver.satisfies('3.1.0', '^3.0.3')
true

This is using the last released version(4.2.0) of semver package. If you think this is a bug then submit an issue to semver package.

Reply to this email directly or view it on GitHub:
#19 (comment)

@quaertym
Copy link
Owner

The message is there to make you aware of the situation. It is your responsibility as a developer to fix the problem. One way to fix it is targeting stable version without caret as 3.0.3. See this SO question for little more explanation.

@indirect
Copy link
Author

The SO question you link to says that 3.1.0-beta does satisfy ^3.0.3. If NPM uses semver to install packages, why does dependency-checker disagree? If dependency-checker disagrees with NPM, why do you keep the error message that says "run npm install to fix this problem"?

@indirect
Copy link
Author

If the point of this package has nothing to do with bower install or npm install, and instead simply checks to make sure that semver.satisfies always returns true, then please update the error messages to explain that.

@quaertym
Copy link
Owner

If you are really concerned about this, please submit an issue to NPM and bower and link back here. As I said before messaging will probably be fixed by #16

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

2 participants