James Newton
James Newton

Reputation: 7092

Checking constraints for a Meteor package

In order to customize a third-party Meteor package, I copied the package folder from /Users/<name>/.meteor/packages/accounts-ui-unstyled/.1.1.8.cfkrwq++os+web.browser+web.cordova/ and pasted it into the packages folder at the root of my app as accounts-ui-unstyled/.

Now when the app compiles, I get this error:

Errors prevented startup:

While selecting package versions:
error: No version of accounts-ui-unstyled satisfies all constraints: @=0.0.0, @=1.1.8
Constraints on package "accounts-ui-unstyled":
* accounts-ui-unstyled@=0.0.0 <- top level
* accounts-ui-unstyled@=1.1.8 <- top level
* [email protected] <- accounts-ui 1.1.6

Your application has errors. Waiting for file change.

Where are these constraints being declared, and what do I need to change to get the accounts-ui-unstyled/ folder in the packages folder to be correctly identified?

Upvotes: 1

Views: 422

Answers (1)

MasterAM
MasterAM

Reputation: 16478

Normally you would like to create a local copy of a package by cloning its repository from GitHub (provided the source is available), and not from your local file system (which holds pre-built versions of the packages).

Sometimes (as it is the case with the core Meteor packages), they are "hidden" in sub-directories of the repository.

A neat trick is to use SVN in order to quickly get a snapshot of that sub-directory:

$ mkdir packages && cd packages
$ svn export https://github.com/meteor/meteor/trunk/packages/accounts-ui-unstyled

If you want to pull from a specific branch, use

$ svn export https://github.com/meteor/meteor/branches/<branch_name>/packages/<package-name>

The constraints will be specified in the package.js file, as expected.

Note: MDG are planning to move the core packages into their own repository/repositories, so those instructions may not be valid for the core packages in the future.

Upvotes: 1

Related Questions