I have upgrade Meteor to 1.8.2, all is good in development environment but when I deploy on production with Meteor Up I get this error:
node-pre-gyp WARN Tried to download(404): https://github.com/kelektiv/node.bcrypt.js/releases/download/v3.0.7/bcrypt_lib-v3.0.7-node-v46-linux-x64-glibc.tar.gz
There is a way to resolve this ?
What docker image are you using in mup.js
?
Looking at the download url it’s trying bcrypt_lib-v3.0.7-
node-v46
-linux-x64-glibc.tar.gz
, you can see it’s trying to download a binary built with ABI version 46, which corresponds with Node.js 4.
This fails because bcrypt 3 doesn’t support Node 4
My guess is that you need to update your docker image to match Meteor 1.8.2’s Node version which is Node 8.
We use abernix/meteord:node-8-base
as our image for that,
Many thanx, now is good.
I always used zodern/meteor:root with no problem with meteor 1.8.1.
You can advice me for other right value in mup.js file ?
Actually is:
module.exports = {
servers: {
one: {
host: ‘xxx.xxx.xxx.xxx’,
username: ‘username’,
pem: ‘/home/username/.ssh/id_rsa’,
}
},
app: {
name: 'myapp',
path: '../',
volumes: {'/opt/_files_myapp': '/built_app/programs/server/assets/app/uploads/files'},
servers: {
one: {},
},
buildOptions: {
serverOnly: true,
debug: false,
},
env: {
ROOT_URL: 'https://myapp.tld',
MONGO_URL: 'mongodb://localhost/meteor',
},
docker: {
image: 'abernix/meteord:node-8-base', // thanx to coagmano !
},
enableUploadProgressBar: true
},
mongo: {
version: '3.4.1',
servers: {
one: {}
}
},
proxy: {
domains: 'myapp.tld',
ssl: {
letsEncryptEmail: 'user@myapp.tld',
forceSSL: true
},
}
};
Just had a look and it uses Node 4.8.4
I’m guessing when you updated Meteor, you also updated bcrypt to the latest version, which is only compatible with Node 8+
The rest of your mup file looks fine to me