After updating Meteor from 1.8 to 1.10.2, the Galaxy deployment stopped working due to an error with the "nan" module

Deploy command result: “Galaxy failed to build your app’s image. The final build status was: Build Failed.”

There is an error in the galaxy console:

"v00302020-07-21 12:21:37+03:00../node_modules/nan/nan_maybe_43_inl.h: In function 'Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)':
v00302020-07-21 12:21:37+03:00../node_modules/nan/nan_maybe_43_inl.h:88:15: error: 'class v8::Object' has no member named 'ForceSet'
v00302020-07-21 12:21:37+03:00 return obj->ForceSet(GetCurrentContext(), key, value, attribs);
v00302020-07-21 12:21:37+03:00 ^
...
...
v00302020-07-21 12:21:37+03:00../node_modules/nan/nan_maybe_43_inl.h: In function 'Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)':
v00302020-07-21 12:21:37+03:00../node_modules/nan/nan_maybe_43_inl.h:88:15: error: 'class v8::Object' has no member named 'ForceSet'
v00302020-07-21 12:21:37+03:00 return obj->ForceSet(GetCurrentContext(), key, value, attribs);
v00302020-07-21 12:21:37+03:00 ^"

I looked for comments on this error, there are recommendations for updating the nan module of node.js, I updated it, now
node -v8.15.1
nan@2.14.1

But that didn’t change the deployment error. And as I checked, there is still a reference to nan@2.3.5 in dependencies for bcrypt@0.8.7.
Maybe someone already solved a similar problem after updating Meteor? Is it necessary to update also bcrypt and what version is suitable?

Thank you,
Sergey

The problem has been resolved.
Updating bcrypt required cleanup of dependencies in the following order:

meteor remove accounts-password
meteor npm uninstall --save bcrypt
meteor npm install --save bcrypt
meteor add accounts-password

More options for solving this and similar problems are described here: Npm bcrypt and meteor npm bcrypt madness

1 Like