Open OMFG5716 opened 8 years ago
Same issue. Same error.
Fixed that with:
meteor add okland:accounts-phone@0.0.21
(The default is 0.0.19, if I recall correctly.)
This version moved me to the next error:
>>>>>>>>: ken$ meteor add okland:accounts-phone@0.0.21
=> Errors while adding packages:
While selecting package versions:
error: Conflict: Constraint npm-bcrypt@=0.7.8_2 is not satisfied by npm-bcrypt 0.8.5.
Constraints on package "npm-bcrypt":
* npm-bcrypt@0.8.5 <- accounts-password 1.1.8
* npm-bcrypt@=0.7.8_2 <- okland:accounts-phone 0.0.21
In my case I no longer needed accounts-password, just whatever useraccounts-core wants under the hood, so then I:
>>>>>>>>: ken$ meteor remove accounts-password
Changes to your project's package version selections:
accounts-password removed from your project
email removed from your project
npm-bcrypt removed from your project // <<<<<<< The nefarious, ornery culprit !
sha removed from your project
srp removed from your project
accounts-password: removed dependency
>>>>>>>>: ken$ meteor add okland:accounts-phone@0.0.21
Changes to your project's package version selections:
email added, version 1.0.12
npm-bcrypt added, version 0.7.8_2
okland:accounts-phone added, version 0.0.21
sha added, version 1.0.7
srp added, version 1.0.8
okland:accounts-phone: A login service based on mobile phone number, For Meteor.
SZL-Mac-Pro:SocialMe ken$
Working!!! For this case.
I reckon accounts-phone might survive with npm-bcrypt@0.8.5, (bumped up from 0.7.8_2) but deadlines loom and I've not yet had the pleasure of forking and experimenting just yet.
meteor update Update to release METEOR@1.3.2.4 is impossible: While selecting package versions: error: Conflict: Constraint npm-bcrypt@0.8.5 is not satisfied by npm-bcrypt 0.7.8_2. Constraints on package "npm-bcrypt":
- npm-bcrypt@0.8.5 <- accounts-password 1.1.8
- npm-bcrypt@=0.7.8_2 <- okland:accounts-phone 0.0.21
This project is at the latest release which is compatible with your current package constraints. Your top-level dependencies are at their latest compatible versions.
Yup! I did get to this part. Bcrypt algo's package is indeed the culprit lol. But I am afraid, in my case I do need accounts-password working along with accounts-phone.
@kenlane33 Thanks for the tip, to append the version constraint to 'meteor add' on accounts-phone!
So I ended up needing accounts-password, too. Manually adding a forked package is so tricky to pass around to the team that I made a naughty duplicate atmosphere package:
kenlane22:accounts-phone
The only thing I changed was to bump the version of bcrypt so that it works with accounts-password. There is quite likely a much better next step (umm pull request for fork?) than my quick fix, but you are welcome to use that one if you like. Now it is as simple as:
meteor add accounts-password
meteor add kenlane22:accounts-phone@0.0.21
Tested:
>>>>>>>>> meteor create ick
Created a new Meteor app in 'ick'.
To run your new app:
cd ick
meteor
If you are new to Meteor, try some of the learning resources here:
https://www.meteor.com/learn
>>>>>>>>> cd ick
>>>>>>>>> meteor add accounts-password
Changes to your project's package version selections:
accounts-base added, version 1.2.7
accounts-password added, version 1.1.8
ddp-rate-limiter added, version 1.0.4
email added, version 1.0.12
localstorage added, version 1.0.9
npm-bcrypt added, version 0.8.5
rate-limit added, version 1.0.4
service-configuration added, version 1.0.9
sha added, version 1.0.7
srp added, version 1.0.8
accounts-password: Password support for accounts
>>>>>>>>> meteor add kenlane22:accounts-phone@0.0.21
Changes to your project's package version selections:
kenlane22:accounts-phone added, version 0.0.21
kenlane22:accounts-phone: A login service based on mobile phone number, For Meteor.
>>>>>>>>>
Really I just bumped
api.use('npm-bcrypt@=0.7.8_2', 'server');
to
api.use('npm-bcrypt@=0.8.5', 'server');
in package.js.
Hi, @kenlane33 ! Thanks for answer! Can you update npm-bcrypt up to 0.8.6_1 ? Thanks!
Done!
So kenlane22:accounts-phone@0.0.22 now has npm-bcrypt@=0.8.6_1
meteor add kenlane22:accounts-phone@0.0.22
I suppose you can drop the @0.0.22 here since you want the latest version.
The version number change to bcrypt is the only mod I made to okland's excellent project.
Okland's original
Let me know if that worked or not.
Atmosphere page
-Ken =]
Great! Thanx! I don`t like fork and multiply packages :) Hope, @okland will update that package....
I am newbie trying to learn on how to do Angular MeteorJS whatsapp tutorial.
I have an issue on the authentication, can you help me? => Errors while adding packages:
While selecting package versions: error: Conflict: Constraint npm-bcrypt@=0.7.8_2 is not satisfied by npm-bcrypt 0.9.1. Constraints on package "npm-bcrypt":
I tried to do meteor remove npm-bcrypt and then reinstall using specific version: meteor add npm-bcrypt@0.7.8_2 and then I re-run the meteor add okland:accounts-phone@0.0.21 however I faced the same issues...
Appreciate your help...
@kenlane33 Appreciate your input here...
When I tried your ics format, I received the following errors: => Errors while parsing arguments:
While adding package kenlande22:accounts-phone@0.0.21: error: no such package
SINM50932177A:ick XXXXXX$ meteor add okland:accounts-phone@0.0.21 => Errors while adding packages:
While selecting package versions: error: Potentially incompatible change required to top-level dependency: accounts-password 1.1.7, was 1.3.0. Constraints on package "accounts-password":
To allow potentially incompatible changes to top-level dependencies, you must pass --allow-incompatible-update on the command line.
DIRECTORY$$$$$:ick XXXXXX$ meteor add okland:accounts-phone@0.0.21 --allow-incompatible-update => Errors while adding packages:
While loading package npm-bcrypt@0.7.8_2:
error: Command failed:
/Users/XXXXXX/.meteor/packages/meteor-tool/.1.4.1_1.1h0re2h++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/bin/npm
rebuild --no-bin-links --update-binary
../src/bcrypt_node.cc:54:18: error: no member named 'Dispose' in
'v8::Persistent<v8::Function, v8::NonCopyablePersistentTraits
' callback.Dispose();
../src/bcrypt_node.cc:128:19: error: unknown type name 'uv_work_t' void GenSaltAsync(uv_work_t* req) { ^ ../src/bcrypt_node.cc:137:24: error: unknown type name 'uv_work_t' void GenSaltAsyncAfter(uv_work_t* req) { ^ ../src/bcrypt_node.cc:138:17: error: calling a protected constructor of class 'v8::HandleScope' HandleScope scope; ^ /Users/XXXXXX/.node-gyp/4.5.0/include/node/v8.h:885:13: note: declared protected here V8_INLINE HandleScope() {} ^ ../src/bcrypt_node.cc:146:44: error: no member named 'New' in 'v8::String' argv[0] = Exception::Error(String::New(baton->error.c_str())); ~~~~~~~~^ ../src/bcrypt_node.cc:147:19: error: no matching function for call to 'Undefined' argv[1] = Undefined(); ^~~~~~~~~ /Users/XXXXXX/.node-gyp/4.5.0/include/node/v8.h:315:27: note: candidate function not viable: requires single argument 'isolate', but no arguments were provided friend Local<Primitive> Undefined(Isolate* isolate); ^ ../src/bcrypt_node.cc:150:19: error: no matching function for call to 'Undefined' argv[0] = Undefined(); ^~~~~~~~~ /Users/XXXXXX/.node-gyp/4.5.0/include/node/v8.h:315:27: note: candidate function not viable: requires single argument 'isolate', but no arguments were provided friend Local<Primitive> Undefined(Isolate* isolate); ^ ../src/bcrypt_node.cc:151:19: warning: 'Encode' is deprecated: Use Encode(isolate, ...) [-Wdeprecated-declarations] argv[1] = Encode(baton->salt.c_str(), baton->salt.size(), BINARY); ^ /Users/XXXXXX/.node-gyp/4.5.0/include/node/node.h:300:45: note: 'Encode' has been explicitly marked deprecated here inline v8::Local<v8::Value> Encode( ^ ../src/bcrypt_node.cc:156:20: error: member reference type 'v8::Persistent<v8::Function>' is not a pointer; did you mean to use '.'? baton->callback->Call(Context::GetCurrent()->Global(), 2, argv); ~~~~~~~~~~~~~~~^~ . ../src/bcrypt_node.cc:156:22: error: no member named 'Call' in 'v8::Persistent<v8::Function, v8::NonCopyablePersistentTraits<v8::Function> ' baton->callback->Call(Context::GetCurrent()->Global(), 2, argv); ~~~~~~~~~~~~~~~ ^ ../src/bcrypt_node.cc:156:36: error: no member named 'GetCurrent' in 'v8::Context' baton->callback->Call(Context::GetCurrent()->Global(), 2, argv); ~~~~~~~~~^ ../src/bcrypt_node.cc:159:9: warning: 'FatalException' is deprecated: Use FatalException(isolate, ...) [-Wdeprecated-declarations] FatalException(try_catch); ^ /Users/XXXXXX/.node-gyp/4.5.0/include/node/node.h:284:29: note: 'FatalException' has been explicitly marked deprecated here inline void FatalException(const v8::TryCatch& try_catch) { ^ ../src/bcrypt_node.cc:164:34: error: unknown type name 'Arguments'; did you mean 'v8::internal::Arguments'? Handle<Value> GenerateSalt(const Arguments &args) { ^~~~~~~~~ v8::internal::Arguments /Users/XXXXXX/.node-gyp/4.5.0/include/node/v8.h:139:7: note: 'v8::internal::Arguments' declared here class Arguments; ^ ../src/bcrypt_node.cc:165:17: error: calling a protected constructor of class 'v8::HandleScope' HandleScope scope; ^ /Users/XXXXXX/.node-gyp/4.5.0/include/node/v8.h:885:13: note: declared protected here V8_INLINE HandleScope() {} ^ ../src/bcrypt_node.cc:167:13: error: member access into incomplete type 'const v8::internal::Arguments' if (args.Length() < 3) { ^ /Users/XXXXXX/.node-gyp/4.5.0/include/node/v8.h:139:7: note: forward declaration of 'v8::internal::Arguments' class Arguments; ^ ../src/bcrypt_node.cc:168:60: error: no member named 'New' in 'v8::String' return ThrowException(Exception::TypeError(String::New("3 arguments expected"))); ~~~~~~~~^ ../src/bcrypt_node.cc:171:34: error: type 'const v8::internal::Arguments' does not provide a subscript operator if (!Buffer::HasInstance(args[1]) || Buffer::Length(args[1].As<Object>()) != 16) { ~~~~^~ ../src/bcrypt_node.cc:171:61: error: type 'const v8::internal::Arguments' does not provide a subscript operator if (!Buffer::HasInstance(args[1]) || Buffer::Length(args[1].As<Object>()) != 16) { ~~~~^~ ../src/bcrypt_node.cc:171:68: error: 'Object' does not refer to a value if (!Buffer::HasInstance(args[1]) || Buffer::Length(args[1].As<Object>()) != 16) { ^ /Users/XXXXXX/.node-gyp/4.5.0/include/node/v8.h:2587:17: note: declared here class V8_EXPORT Object : public Value { ^ ../src/bcrypt_node.cc:171:76: error: expected expression if (!Buffer::HasInstance(args[1]) || Buffer::Length(args[1].As<Object>()) != 16) { ^ ../src/bcrypt_node.cc:172:60: error: no member named 'New' in 'v8::String' return ThrowException(Exception::TypeError(String::New("Second argument must be a 16 byte Buffer"))); ~~~~~~~~^ fatal error: too many errors emitted, stopping now [-ferror-limit=] 2 warnings and 20 errors generated. make: *** [Release/obj.target/bcrypt_lib/src/bcrypt_node.o] Error 1 gyp ERR! build error gyp ERR! stack Error: `make` failed with exit code: 2 gyp ERR! stack at ChildProcess.onExit (/Users/XXXXXX/.meteor/packages/meteor-tool/.1.4.1_1.1h0re2h++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/node-gyp/lib/build.js:276:23) gyp ERR! stack at emitTwo (events.js:87:13) gyp ERR! stack at ChildProcess.emit (events.js:172:7) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12) gyp ERR! System Darwin 15.6.0 gyp ERR! command "/Users/XXXXXX/.meteor/packages/meteor-tool/.1.4.1_1.1h0re2h++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/bin/node" "/Users/XXXXXX/.meteor/packages/meteor-tool/.1.4.1_1.1h0re2h++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /Users/XXXXXX/.meteor/packages/npm-bcrypt/.0.7.8_2.1twvxy8++os.osx.x86_64+web.browser+web.cordova/npm/node_modules/.temp-12nmw8r/node_modules/bcrypt gyp ERR! node -v v4.5.0 gyp ERR! node-gyp -v v3.4.0 gyp ERR! not ok
npm ERR! Darwin 15.6.0
npm ERR! argv
"/Users/XXXXXX/.meteor/packages/meteor-tool/.1.4.1_1.1h0re2h++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/bin/node"
"/Users/XXXXXX/.meteor/packages/meteor-tool/.1.4.1_1.1h0re2h++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/bin/npm"
"rebuild" "--no-bin-links" "--update-binary"
npm ERR! node v4.5.0
npm ERR! npm v3.10.6
npm ERR! code ELIFECYCLE
npm ERR! bcrypt@0.7.8 install: node-gyp rebuild
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the bcrypt@0.7.8 install script 'node-gyp rebuild'.
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 bcrypt package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node-gyp rebuild
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs bcrypt
npm ERR! Or if that isn't available, you can get their info via:
npm ERR! npm owner ls bcrypt
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR!
/Users/XXXXXX/.meteor/packages/npm-bcrypt/.0.7.8_2.1twvxy8++os.osx.x86_64+web.browser+web.cordova/npm/node_modules/.temp-12nmw8r/npm-debug.log
../src/bcrypt_node.cc:54:18: error: no member named 'Dispose' in
'v8::Persistent<v8::Function, v8::NonCopyablePersistentTraits
' callback.Dispose();
../src/bcrypt_node.cc:128:19: error: unknown type name 'uv_work_t' void GenSaltAsync(uv_work_t* req) { ^ ../src/bcrypt_node.cc:137:24: error: unknown type name 'uv_work_t' void GenSaltAsyncAfter(uv_work_t* req) { ^ ../src/bcrypt_node.cc:138:17: error: calling a protected constructor of class 'v8::HandleScope' HandleScope scope; ^ /Users/XXXXXX/.node-gyp/4.5.0/include/node/v8.h:885:13: note: declared protected here V8_INLINE HandleScope() {} ^ ../src/bcrypt_node.cc:146:44: error: no member named 'New' in 'v8::String' argv[0] = Exception::Error(String::New(baton->error.c_str())); ~~~~~~~~^ ../src/bcrypt_node.cc:147:19: error: no matching function for call to 'Undefined' argv[1] = Undefined(); ^~~~~~~~~ /Users/XXXXXX/.node-gyp/4.5.0/include/node/v8.h:315:27: note: candidate function not viable: requires single argument 'isolate', but no arguments were provided friend Local<Primitive> Undefined(Isolate* isolate); ^ ../src/bcrypt_node.cc:150:19: error: no matching function for call to 'Undefined' argv[0] = Undefined(); ^~~~~~~~~ /Users/XXXXXX/.node-gyp/4.5.0/include/node/v8.h:315:27: note: candidate function not viable: requires single argument 'isolate', but no arguments were provided friend Local<Primitive> Undefined(Isolate* isolate); ^ ../src/bcrypt_node.cc:151:19: warning: 'Encode' is deprecated: Use Encode(isolate, ...) [-Wdeprecated-declarations] argv[1] = Encode(baton->salt.c_str(), baton->salt.size(), BINARY); ^ /Users/XXXXXX/.node-gyp/4.5.0/include/node/node.h:300:45: note: 'Encode' has been explicitly marked deprecated here inline v8::Local<v8::Value> Encode( ^ ../src/bcrypt_node.cc:156:20: error: member reference type 'v8::Persistent<v8::Function>' is not a pointer; did you mean to use '.'? baton->callback->Call(Context::GetCurrent()->Global(), 2, argv); ~~~~~~~~~~~~~~~^~ . ../src/bcrypt_node.cc:156:22: error: no member named 'Call' in 'v8::Persistent<v8::Function, v8::NonCopyablePersistentTraits<v8::Function> ' baton->callback->Call(Context::GetCurrent()->Global(), 2, argv); ~~~~~~~~~~~~~~~ ^ ../src/bcrypt_node.cc:156:36: error: no member named 'GetCurrent' in 'v8::Context' baton->callback->Call(Context::GetCurrent()->Global(), 2, argv); ~~~~~~~~~^ ../src/bcrypt_node.cc:159:9: warning: 'FatalException' is deprecated: Use FatalException(isolate, ...) [-Wdeprecated-declarations] FatalException(try_catch); ^ /Users/i311571/.node-gyp/4.5.0/include/node/node.h:284:29: note: 'FatalException' has been explicitly marked deprecated here inline void FatalException(const v8::TryCatch& try_catch) { ^ ../src/bcrypt_node.cc:164:34: error: unknown type name 'Arguments'; did you mean 'v8::internal::Arguments'? Handle<Value> GenerateSalt(const Arguments &args) { ^~~~~~~~~ v8::internal::Arguments .......
"rebuild" "--no-bin-links" "--update-binary"
npm ERR! node v4.5.0
npm ERR! npm v3.10.6
npm ERR! code ELIFECYCLE
npm ERR! bcrypt@0.7.8 install: node-gyp rebuild
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the bcrypt@0.7.8 install script 'node-gyp rebuild'.
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 bcrypt package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node-gyp rebuild
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs bcrypt
npm ERR! Or if that isn't available, you can get their info via:
npm ERR! npm owner ls bcrypt
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request: npm ERR! /Users/XXXXXX/.meteor/packages/npm-bcrypt/.0.7.8_2.1twvxy8++os.osx.x86_64+web.browser+web.cordova/npm/node_modules/.temp-12nmw8r/npm-debug.log
I haven't tried it in a while, but you could check out the version bump I did:
meteor add kenlane22:accounts-phone@0.0.22
As long as accounts-password hasn't moved along, it might work.
If it gives trouble and wants a new version, let me know and I'll bump the bcrypt version again. Or you could! I'll happily switch to using jwangkasa:accounts-phone@0.0.23
:)
I'm pretty green myself, but trying to crack my knuckles when time allows.
I suspect there is a smarter fix than all this manual patching and dream of one of the great_ones weighing in on this. @UriGoldshtein could know of a mystic npm solution, perhaps? Or something simpler that I'm just not getting?
Anyhoo, let me know if `0.0.22`` helps or not.
-Ken =]
@kenlane33
Thank you on your quick reply. Wow... your solution works as a magic.
Just curious mate... how did you force the downgrade the npm-bcrypt to 0.8.6_1 (would like to learn this 👍 )
accounts-base added, version 1.1.3 email added, version 1.0.16 kenlane22:accounts-phone added, version 0.0.22 localstorage added, version 1.0.11 npm-bcrypt downgraded from 0.9.1 to 0.8.6_1 service-configuration added, version 1.0.3 sha added, version 1.0.8 srp added, version 1.0.9
In brief:
name : 'kenlane22:accounts-phone',
api.use('npm-bcrypt@=0.8.6_1', 'server');
to use the version you prefer.`meteor publish
cd
back to your projectmeteor add ____
your new package to grab it from ye olde AtmosphereEffectively, I just changed the version of the one line in #5. The rest is the hand jive to get it in place.
Also, an over-abundance of detail on package publishing is here.
-Ken =]
@kenlane33 Thanks for the version bump! Worked for me!
@kenlane33 Thanks! You saved my day.
Ran into the same issue, caused by npm-bcrypt being at 0.7.8_2. Fixed the issue by upgrading npm-bcrypt to latest, but then ran into this issue on heroku. Downgrading to 0.8.6_1 fixed it.
=> Errors while initializing project:
While checking for okland:accounts-phone@0.0.19: error: No compatible binary build found for this package. Contact the package author and ask them to publish it for your platform.