Urigo / meteor-native-packages

MIT License
3 stars 2 forks source link

No version of modules satisfies all constraints: @=0.8.2, @0.9.0 #1

Open mhagmajer opened 7 years ago

mhagmajer commented 7 years ago

Here's what happens when I run this on the boilerplate project https://github.com/DAB0mB/ReactNativeMeteorBoilerplate.

Can you please take a look?

$ npm run meteor-bundle-client

> ReactNativeMeteorBoilerplate@0.0.1 meteor-bundle-client /Users/marcin/Repositories/ReactNativeMeteorBoilerplate
> meteor-client bundle -s api

Created a new Meteor app in '/var/folders/dt/0zy07xm533q6yx599hx4vwk00000gn/T/tmp-95928u2gw3AiWEXjo'.

To run your new app:                          
  cd /var/folders/dt/0zy07xm533q6yx599hx4vwk00000gn/T/tmp-95928u2gw3AiWEXjo
  meteor                                      

If you are new to Meteor, try some of the learning resources here:
  https://www.meteor.com/learn                

meteor create --bare to create an empty app.  
meteor create --full to create a scaffolded app.

=> Errors while initializing project:         

While selecting package versions:
error: No version of modules satisfies all constraints: @=0.8.2, @0.9.0
Constraints on package "modules":
* modules@=0.8.2 <- top level
* modules@0.9.0 <- top level
* modules@0.9.0 <- ecmascript 0.8.0
* modules@0.9.0 <- ecmascript-runtime-server 0.4.1 <- ecmascript-runtime 0.4.1 <- babel-compiler 6.19.1 <- ecmascript 0.8.0
* modules@0.9.0 <- ecmascript-runtime-server 0.4.1 <- ecmascript-runtime 0.4.1 <- ecmascript 0.8.0
* modules@0.9.0 <- promise 0.8.9 <- babel-runtime 1.1.0-pre.1 <- ecmascript 0.8.0
* modules@0.9.0 <- promise 0.8.9 <- ecmascript 0.8.0
* modules@0.10.0-alpha.2 <- ecmascript-runtime-client 0.5.0-alpha.2 <- ecmascript-runtime 0.4.1 <- babel-compiler 6.19.1 <- ecmascript
0.8.0
* modules@0.10.0-alpha.2 <- ecmascript-runtime-client 0.5.0-alpha.2 <- ecmascript-runtime 0.4.1 <- ecmascript 0.8.0
* modules@0.10.0-pre.1 <- babel-runtime 1.1.0-pre.1 <- ecmascript 0.8.0
* modules@0.7.8 <- logging 1.1.17 <- webapp 1.4.0-pre.1 <- autoupdate 1.3.12 <- hot-code-push 1.0.4 <- meteor-base 1.1.0
* modules@0.7.8 <- logging 1.1.17 <- webapp 1.4.0-pre.1 <- meteor-base 1.1.0
* modules@0.7.7 <- jquery 1.11.10 <- blaze 2.0.2-pre.1 <- spacebars 1.0.3-pre.1 <- boilerplate-generator 1.1.0 <- webapp 1.4.0-pre.1 <-
autoupdate 1.3.12 <- hot-code-push 1.0.4 <- meteor-base 1.1.0
* modules@0.7.7 <- jquery 1.11.10 <- blaze 2.0.2-pre.1 <- spacebars 1.0.3-pre.1 <- boilerplate-generator 1.1.0 <- webapp 1.4.0-pre.1 <-
meteor-base 1.1.0
* modules@0.7.9 <- check 1.2.5 <- allow-deny 1.0.5 <- mongo 1.1.18
* modules@0.7.9 <- check 1.2.5 <- mongo 1.1.18
* modules@0.7.7 <- geojson-utils 1.0.10 <- minimongo 1.2.0 <- allow-deny 1.0.5 <- mongo 1.1.18
* modules@0.7.7 <- geojson-utils 1.0.10 <- minimongo 1.2.0 <- mongo 1.1.18
* modules@0.9.0 <- dynamic-import 0.1.0 <- meteor-base 1.1.0
* modules@0.7.7 <- es5-shim 4.6.15

/Users/marcin/Repositories/ReactNativeMeteorBoilerplate/node_modules/execa/index.js:277
        throw (result.error || new Error(result.stderr === '' ? result.stdout : result.stderr));
        ^

Error: null
    at Function.module.exports.sync (/Users/marcin/Repositories/ReactNativeMeteorBoilerplate/node_modules/execa/index.js:277:26)
    at Object.bundle (/Users/marcin/Repositories/ReactNativeMeteorBoilerplate/node_modules/meteor-client-bundler/lib/bundler.js:79:9)
    at Command.<anonymous> (/Users/marcin/Repositories/ReactNativeMeteorBoilerplate/node_modules/meteor-client-bundler/cli:42:13)
    at Command.listener (/Users/marcin/Repositories/ReactNativeMeteorBoilerplate/node_modules/commander/index.js:301:8)
    at emitTwo (events.js:106:13)
    at Command.emit (events.js:191:7)
    at Command.parseArgs (/Users/marcin/Repositories/ReactNativeMeteorBoilerplate/node_modules/commander/index.js:615:12)
    at Command.parse (/Users/marcin/Repositories/ReactNativeMeteorBoilerplate/node_modules/commander/index.js:458:21)
    at Object.<anonymous> (/Users/marcin/Repositories/ReactNativeMeteorBoilerplate/node_modules/meteor-client-bundler/cli:50:9)
    at Module._compile (module.js:570:32)

npm ERR! Darwin 15.6.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "run" "meteor-bundle-client"
npm ERR! node v6.10.3
npm ERR! npm  v3.10.10
npm ERR! code ELIFECYCLE
npm ERR! ReactNativeMeteorBoilerplate@0.0.1 meteor-bundle-client: `meteor-client bundle -s api`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the ReactNativeMeteorBoilerplate@0.0.1 meteor-bundle-client script 'meteor-client bundle -s api'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the ReactNativeMeteorBoilerplate package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     meteor-client bundle -s api
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs ReactNativeMeteorBoilerplate
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls ReactNativeMeteorBoilerplate
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/marcin/Repositories/ReactNativeMeteorBoilerplate/npm-debug.log
mhagmajer commented 7 years ago

ping

ardatan commented 6 years ago

+1

charpeni commented 6 years ago

@mhagmajer Have you found any solution?

mhagmajer commented 6 years ago

Unfortunately, I couldn't get hold of @Urigo in any way to help resolve this. At this point I'd recommend implementing DDP directly or using some community implementation for the platform you're working with.

charpeni commented 6 years ago

Unfortunately, I came from react-native-meteor which is not a great alternative since it's a re-implementation of Meteor with inconsistent behaviors. 😞

gunn commented 6 years ago

@charpeni what are the inconsistent behaviours you've had trouble with?

charpeni commented 6 years ago

We've encountered many inconsistent behaviors between Meteor and react-native-meteor that lead us to this package and meteor-client-bundler. This made me believe that doing a replication of the "real" Meteor client is a bad idea and the maintenance cost is far too big for the community. IMO, a command line tool like meteor-client-bundler that bundle the Meteor client code for your app is a better idea and relatively with a lower maintenance cost than a total re-implementation.

I don't have an exhaustive list, but here are some issues that I remember.

In our Meteor codebase, we're using Mongo.Collection#findOne with a string selector that's defaulting to the _id field. But, with react-native-meteor, if you're calling Mongo.Collection#findOne with an undefined selector it will default to findOne() instead of findOne({ _id: undefined }).

const userId = "someId";
const playerId = undefined;

// Meteor
Collection.findOne(userId); // You'll receive the user corresponding to the userId
Collection.findOne(playerId); // playerId is undefined, you'll receive nothing.

// react-native-meteor
Collection.findOne(userId); // You'll receive the user corresponding to the userId
Collection.findOne(playerId); // playerId is undefined, you'll receive a random item of your collection.

I don't have an exact situation for this, but between the two implementations, the connect, disconnect, and reconnect doesn't work the same and client collections are not cleaned the same way.

If your code depends on Random or other libs or even libs from Atmosphere, you can forget that.

mhagmajer commented 6 years ago

@charpeni man, I wish myself that Meteor wasn't so monolithic and the core packages weren't build with dependence on browser APIs :)