title: Unable to install OrionJS for Meteor
body: <p>I've been trying to get this to work, to no avail. I created a completely fresh app and added ONLY orionjs:core just to test it out, but received this error message. What can I do?</p>
  
  <p>My steps:
  1. <code>meteor create BWW</code></p>
  
  <ol start="2">
  <li><p><code>meteor npm install</code></p></li>
  <li><p><code>meteor add orionjs:core</code> => This failed and the error message is below</p>
  
  <p>=> Errors while adding packages:                                                  </p>
  
  <pre><code>While loading npm-bcrypt@0.7.7...:
  error: Command failed:
  /Users/Gaurav/.meteor/packages/meteor-tool/.1.4.2_3.1rd9djy++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/bin/npm
  rebuild --update-binary
  ../src/bcrypt_node.cc:118:18: error: no member named 'Dispose' in 'v8::Persistent&lt;v8::Function,
  v8::NonCopyablePersistentTraits&lt;v8::Function&gt; &gt;'
  callback.Dispose();
  ~~~~~~~~ ^
  ../src/bcrypt_node.cc:202:19: error: unknown type name 'uv_work_t'
  void GenSaltAsync(uv_work_t* req) {
  ^
  ../src/bcrypt_node.cc:219:24: error: unknown type name 'uv_work_t'
  void GenSaltAsyncAfter(uv_work_t* req) {
  ^
  ../src/bcrypt_node.cc:220:17: error: calling a protected constructor of class 'v8::HandleScope'
  HandleScope scope;
  ^
  /Users/Gaurav/.node-gyp/4.6.2/include/node/v8.h:885:13: note: declared protected here
  V8_INLINE HandleScope() {}
  ^
  ../src/bcrypt_node.cc:228:44: error: no member named 'New' in 'v8::String'
  argv[0] = Exception::Error(String::New(baton-&gt;error.c_str()));
  ~~~~~~~~^
  ../src/bcrypt_node.cc:229:19: error: no matching function for call to 'Undefined'
  argv[1] = Undefined();
  ^~~~~~~~~
  /Users/Gaurav/.node-gyp/4.6.2/include/node/v8.h:315:27: note: candidate function not viable: requires single argument 'isolate', but
  no arguments were provided
  friend Local&lt;Primitive&gt; Undefined(Isolate* isolate);
  ^
  ../src/bcrypt_node.cc:232:19: error: no matching function for call to 'Undefined'
  argv[0] = Undefined();
  ^~~~~~~~~
  /Users/Gaurav/.node-gyp/4.6.2/include/node/v8.h:315:27: note: candidate function not viable: requires single argument 'isolate', but
  no arguments were provided
  friend Local&lt;Primitive&gt; Undefined(Isolate* isolate);
  ^
  ../src/bcrypt_node.cc:233:19: warning: 'Encode' is deprecated: Use Encode(isolate, ...) [-Wdeprecated-declarations]
  argv[1] = Encode(baton-&gt;salt.c_str(), baton-&gt;salt.size(), BINARY);
  ^
  /Users/Gaurav/.node-gyp/4.6.2/include/node/node.h:300:45: note: 'Encode' has been explicitly marked deprecated here
  inline v8::Local&lt;v8::Value&gt; Encode(
  ^
  /Users/Gaurav/.node-gyp/4.6.2/include/node/node.h:66:42: note: expanded from macro 'NODE_DEPRECATED'
  __attribute__((deprecated(message))) declarator
  ^
  ../src/bcrypt_node.cc:238:20: error: member reference type 'v8::Persistent&lt;v8::Function&gt;' is not a pointer; maybe you meant to use
  '.'?
  baton-&gt;callback-&gt;Call(Context::GetCurrent()-&gt;Global(), 2, argv);
  ~~~~~~~~~~~~~~~^~
  .
  ../src/bcrypt_node.cc:238:22: error: no member named 'Call' in 'v8::Persistent&lt;v8::Function,
  v8::NonCopyablePersistentTraits&lt;v8::Function&gt; &gt;'
  baton-&gt;callback-&gt;Call(Context::GetCurrent()-&gt;Global(), 2, argv);
  ~~~~~~~~~~~~~~~  ^
  ../src/bcrypt_node.cc:238:36: error: no member named 'GetCurrent' in 'v8::Context'
  baton-&gt;callback-&gt;Call(Context::GetCurrent()-&gt;Global(), 2, argv);
  ~~~~~~~~~^
  ../src/bcrypt_node.cc:241:9: warning: 'FatalException' is deprecated: Use FatalException(isolate, ...)
  [-Wdeprecated-declarations]
  FatalException(try_catch);
  ^
  /Users/Gaurav/.node-gyp/4.6.2/include/node/node.h:284:29: note: 'FatalException' has been explicitly marked deprecated
  here
  inline void FatalException(const v8::TryCatch&amp; try_catch) {
  ^
  /Users/Gaurav/.node-gyp/4.6.2/include/node/node.h:66:42: note: expanded from macro 'NODE_DEPRECATED'
  __attribute__((deprecated(message))) declarator
  ^
  ../src/bcrypt_node.cc:246:34: error: unknown type name 'Arguments'; did you mean 'v8::internal::Arguments'?
  Handle&lt;Value&gt; GenerateSalt(const Arguments &amp;args) {
  ^~~~~~~~~
  v8::internal::Arguments
  /Users/Gaurav/.node-gyp/4.6.2/include/node/v8.h:139:7: note: 'v8::internal::Arguments' declared here
  class Arguments;
  ^
  ../src/bcrypt_node.cc:247:17: error: calling a protected constructor of class 'v8::HandleScope'
  HandleScope scope;
  ^
  /Users/Gaurav/.node-gyp/4.6.2/include/node/v8.h:885:13: note: declared protected here
  V8_INLINE HandleScope() {}
  ^
  ../src/bcrypt_node.cc:249:32: error: type 'const v8::internal::Arguments' does not provide a subscript operator
  const ssize_t rounds = args[0]-&gt;Int32Value();
  ~~~~^~
  ../src/bcrypt_node.cc:250:30: error: type 'const v8::internal::Arguments' does not provide a subscript operator
  const int rand_len = args[1]-&gt;Int32Value();
  ~~~~^~
  ../src/bcrypt_node.cc:251:58: error: type 'const v8::internal::Arguments' does not provide a subscript operator
  Local&lt;Function&gt; callback = Local&lt;Function&gt;::Cast(args[2]);
  ~~~~^~
  ../src/bcrypt_node.cc:255:45: error: 'New' is a private member of 'v8::PersistentBase&lt;v8::Function&gt;'
  baton-&gt;callback = Persistent&lt;Function&gt;::New(callback);
  ^
  /Users/Gaurav/.node-gyp/4.6.2/include/node/v8.h:639:23: note: declared private here
  V8_INLINE static T* New(Isolate* isolate, T* that);
  ^
  ../src/bcrypt_node.cc:255:57: error: too few arguments to function call, expected 2, have 1
  baton-&gt;callback = Persistent&lt;Function&gt;::New(callback);
  ~~~~~~~~~~~~~~~~~~~~~~~~~         ^
  /Users/Gaurav/.node-gyp/4.6.2/include/node/v8.h:639:3: note: 'New' declared here
  V8_INLINE static T* New(Isolate* isolate, T* that);
  ^
  /Users/Gaurav/.node-gyp/4.6.2/include/node/v8config.h:301:20: note: expanded from macro 'V8_INLINE'
  # define V8_INLINE inline __attribute__((always_inline))
  ^
  ../src/bcrypt_node.cc:259:5: error: unknown type name 'uv_work_t'
  uv_work_t* req = new uv_work_t;
  ^
  ../src/bcrypt_node.cc:259:26: error: unknown type name 'uv_work_t'
  uv_work_t* req = new uv_work_t;
  ^
  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/Gaurav/.meteor/packages/meteor-tool/.1.4.2_3.1rd9djy++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:211:12)
  gyp ERR! System Darwin 14.5.0
  gyp ERR! command
  "/Users/Gaurav/.meteor/packages/meteor-tool/.1.4.2_3.1rd9djy++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/bin/node"
  "/Users/Gaurav/.meteor/packages/meteor-tool/.1.4.2_3.1rd9djy++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 /private/var/folders/rt/mkj18hjd42j0prvy63hlj0fw0000gq/T/mt-9hsn4u/npm/node_modules/.temp-849lte/node_modules/bcrypt
  gyp ERR! node -v v4.6.2
  gyp ERR! node-gyp -v v3.4.0
  gyp ERR! not ok 
  
  npm ERR! Darwin 14.5.0
  npm ERR! argv
  "/Users/Gaurav/.meteor/packages/meteor-tool/.1.4.2_3.1rd9djy++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/bin/node"
  "/Users/Gaurav/.meteor/packages/meteor-tool/.1.4.2_3.1rd9djy++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/bin/npm"
  "rebuild" "--update-binary"
  npm ERR! node v4.6.2
  npm ERR! npm  v3.10.9
  npm ERR! code ELIFECYCLE
  npm ERR! bcrypt@0.7.7 install: `node-gyp rebuild`
  npm ERR! Exit status 1
  npm ERR! 
  npm ERR! Failed at the bcrypt@0.7.7 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!     /private/var/folders/rt/mkj18hjd42j0prvy63hlj0fw0000gq/T/mt-9hsn4u/npm/node_modules/.temp-849lte/npm-debug.log
  ../src/bcrypt_node.cc:118:18: error: no member named 'Dispose' in 'v8::Persistent&lt;v8::Function,
  v8::NonCopyablePersistentTraits&lt;v8::Function&gt; &gt;'
  callback.Dispose();
  ~~~~~~~~ ^
  ../src/bcrypt_node.cc:202:19: error: unknown type name 'uv_work_t'
  void GenSaltAsync(uv_work_t* req) {
  ^
  ../src/bcrypt_node.cc:219:24: error: unknown type name 'uv_work_t'
  void GenSaltAsyncAfter(uv_work_t* req) {
  ^
  ../src/bcrypt_node.cc:220:17: error: calling a protected constructor of class 'v8::HandleScope'
  HandleScope scope;
  ^
  /Users/Gaurav/.node-gyp/4.6.2/include/node/v8.h:885:13: note: declared protected here
  V8_INLINE HandleScope() {}
  ^
  ../src/bcrypt_node.cc:228:44: error: no member named 'New' in 'v8::String'
  argv[0] = Exception::Error(String::New(baton-&gt;error.c_str()));
  ~~~~~~~~^
  ../src/bcrypt_node.cc:229:19: error: no matching function for call to 'Undefined'
  argv[1] = Undefined();
  ^~~~~~~~~
  /Users/Gaurav/.node-gyp/4.6.2/include/node/v8.h:315:27: note: candidate function not viable: requires single argument 'isolate', but
  no arguments were provided
  friend Local&lt;Primitive&gt; Undefined(Isolate* isolate);
  ^
  ../src/bcrypt_node.cc:232:19: error: no matching function for call to 'Undefined'
  argv[0] = Undefined();
  ^~~~~~~~~
  /Users/Gaurav/.node-gyp/4.6.2/include/node/v8.h:315:27: note: candidate function not viable: requires single argument 'isolate', but
  no arguments were provided
  friend Local&lt;Primitive&gt; Undefined(Isolate* isolate);
  ^
  ../src/bcrypt_node.cc:233:19: warning: 'Encode' is deprecated: Use Encode(isolate, ...) [-Wdeprecated-declarations]
  argv[1] = Encode(baton-&gt;salt.c_str(), baton-&gt;salt.size(), BINARY);
  ^
  /Users/Gaurav/.node-gyp/4.6.2/include/node/node.h:300:45: note: 'Encode' has been explicitly marked deprecated here
  inline v8::Local&lt;v8::Value&gt; Encode(
  ^
  /Users/Gaurav/.node-gyp/4.6.2/include/node/node.h:66:42: note: expanded from macro 'NODE_DEPRECATED'
  __attribute__((deprecated(message))) declarator
  ^
  ../src/bcrypt_node.cc:238:20: error: member reference type 'v8::Persistent&lt;v8::Function&gt;' is not a pointer; maybe you meant to use
  '.'?
  baton-&gt;callback-&gt;Call(Context::GetCurrent()-&gt;Global(), 2, argv);
  ~~~~~~~~~~~~~~~^~
  .
  ../src/bcrypt_node.cc:238:22: error: no member named 'Call' in 'v8::Persistent&lt;v8::Function,
  v8::NonCopyablePersistentTraits&lt;v8::Function&gt; &gt;'
  baton-&gt;callback-&gt;Call(Context::GetCurrent()-&gt;Global(), 2, argv);
  ~~~~~~~~~~~~~~~  ^
  ../src/bcrypt_node.cc:238:36: error: no member named 'GetCurrent' in 'v8::Context'
  baton-&gt;callback-&gt;Call(Context::GetCurrent()-&gt;Global(), 2, argv);
  ~~~~~~~~~^
  ../src/bcrypt_node.cc:241:9: warning: 'FatalException' is deprecated: Use FatalException(isolate, ...)
  [-Wdeprecated-declarations]
  FatalException(try_catch);
  ^
  /Users/Gaurav/.node-gyp/4.6.2/include/node/node.h:284:29: note: 'FatalException' has been explicitly marked deprecated
  here
  inline void FatalException(const v8::TryCatch&amp; try_catch) {
  ^
  /Users/Gaurav/.node-gyp/4.6.2/include/node/node.h:66:42: note: expanded from macro 'NODE_DEPRECATED'
  __attribute__((deprecated(message))) declarator
  ^
  ../src/bcrypt_node.cc:246:34: error: unknown type name 'Arguments'; did you mean 'v8::internal::Arguments'?
  Handle&lt;Value&gt; GenerateSalt(const Arguments &amp;args) {
  ^~~~~~~~~
  v8::internal::Arguments
  /Users/Gaurav/.node-gyp/4.6.2/include/node/v8.h:139:7: note: 'v8::internal::Arguments' declared here
  class Arguments;
  ^
  ../src/bcrypt_node.cc:247:17: error: calling a protected constructor of class 'v8::HandleScope'
  HandleScope scope;
  ^
  /Users/Gaurav/.node-gyp/4.6.2/include/node/v8.h:885:13: note: declared protected here
  V8_INLINE HandleScope() {}
  ^
  ../src/bcrypt_node.cc:249:32: error: type 'const v8::internal::Arguments' does not provide a subscript operator
  const ssize_t rounds = args[0]-&gt;Int32Value();
  ~~~~^~
  ../src/bcrypt_node.cc:250:30: error: type 'const v8::internal::Arguments' does not provide a subscript operator
  const int rand_len = args[1]-&gt;Int32Value();
  ~~~~^~
  ../src/bcrypt_node.cc:251:58: error: type 'const v8::internal::Arguments' does not provide a subscript operator
  Local&lt;Function&gt; callback = Local&lt;Function&gt;::Cast(args[2]);
  ~~~~^~
  ../src/bcrypt_node.cc:255:45: error: 'New' is a private member of 'v8::PersistentBase&lt;v8::Function&gt;'
  baton-&gt;callback = Persistent&lt;Function&gt;::New(callback);
  ^
  /Users/Gaurav/.node-gyp/4.6.2/include/node/v8.h:639:23: note: declared private here
  V8_INLINE static T* New(Isolate* isolate, T* that);
  ^
  ../src/bcrypt_node.cc:255:57: error: too few arguments to function call, expected 2, have 1
  baton-&gt;callback = Persistent&lt;Function&gt;::New(callback);
  ~~~~~~~~~~~~~~~~~~~~~~~~~         ^
  /Users/Gaurav/.node-gyp/4.6.2/include/node/v8.h:639:3: note: 'New' declared here
  V8_INLINE static T* New(Isolate* isolate, T* that);
  ^
  /Users/Gaurav/.node-gyp/4.6.2/include/node/v8config.h:301:20: note: expanded from macro 'V8_INLINE'
  # define V8_INLINE inline __attribute__((always_inline))
  ^
  ../src/bcrypt_node.cc:259:5: error: unknown type name 'uv_work_t'
  uv_work_t* req = new uv_work_t;
  ^
  ../src/bcrypt_node.cc:259:26: error: unknown type name 'uv_work_t'
  uv_work_t* req = new uv_work_t;
  ^
  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/Gaurav/.meteor/packages/meteor-tool/.1.4.2_3.1rd9djy++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:211:12)
  gyp ERR! System Darwin 14.5.0
  gyp ERR! command
  "/Users/Gaurav/.meteor/packages/meteor-tool/.1.4.2_3.1rd9djy++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/bin/node"
  "/Users/Gaurav/.meteor/packages/meteor-tool/.1.4.2_3.1rd9djy++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 /private/var/folders/rt/mkj18hjd42j0prvy63hlj0fw0000gq/T/mt-9hsn4u/npm/node_modules/.temp-849lte/node_modules/bcrypt
  gyp ERR! node -v v4.6.2
  gyp ERR! node-gyp -v v3.4.0
  gyp ERR! not ok 
  
  npm ERR! Darwin 14.5.0
  npm ERR! argv
  "/Users/Gaurav/.meteor/packages/meteor-tool/.1.4.2_3.1rd9djy++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/bin/node"
  "/Users/Gaurav/.meteor/packages/meteor-tool/.1.4.2_3.1rd9djy++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/bin/npm"
  "rebuild" "--update-binary"
  npm ERR! node v4.6.2
  npm ERR! npm  v3.10.9
  npm ERR! code ELIFECYCLE
  npm ERR! bcrypt@0.7.7 install: `node-gyp rebuild`
  npm ERR! Exit status 1
  npm ERR! 
  npm ERR! Failed at the bcrypt@0.7.7 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!     /private/var/folders/rt/mkj18hjd42j0prvy63hlj0fw0000gq/T/mt-9hsn4u/npm/node_modules/.temp-849lte/npm-debug.log
  </code></pre></li>
  </ol>