1
votes

Versions/Background

I'm using version 0.7.6 of meteor-up (mup), Meteor 1.0.2.1 which uses Mongo v0.10.33 from what I've read.

I'm using a small Ubuntu Server 14.04 LTS (HVM), SSD Volume Type - ami-3d50120d EC2 instance on AWS as a destination for my Meteor application.

My domain is pointing at the ami-3d50120d instance's Elastic IP (I'll call it domain-name here).

I'm able to do mup setup on the new ami-3d50120d where I install Mongo and Node successfully, with an output that looks like so:

[domain-name.com] - Installing Node.js
[domain-name.com] ✔ Installing Node.js: SUCCESS
[domain-name.com] - Setting up Environment
[domain-name.com] ✔ Setting up Environment: SUCCESS
[domain-name.com] - Copying MongoDB configuration
[domain-name.com] ✔ Copying MongoDB configuration: SUCCESS
[domain-name.com] - Installing MongoDB
[domain-name.com] ✔ Installing MongoDB: SUCCESS
[domain-name.com] - Configuring upstart
[domain-name.com] ✔ Configuring upstart: SUCCESS

Steps to recreate Error Condition

  1. created a new Ubuntu instance
  2. assigned the Elastic IP that's linked to my domain
  3. configured my mup.json file (will detail below)
  4. did a mup setup -> everything installed successfully
  5. ssh'd into my instanced and did a node -v -> v0.10.33
  6. back on my OSX box -> did a node -v -> v0.10.32
  7. did a mup deploy -> error condition occurs

Error condition

[domain-name.com] - Uploading bundle
[domain-name.com] ✔ Uploading bundle: SUCCESS
[domain-name.com] - Setting up Environment Variables
[domain-name.com] ✔ Setting up Environment Variables: SUCCESS
[domain-name.com] - Invoking deployment process
✘ Invoking deployment process: FAILED


-------STDERR----
Warning: Permanently added 'domain-name.com,55.555.5.555' (RSA) to the list of known hosts. sudo: node-gyp: command not found
-------STDOUT-----
=> re-installing binary npm module 'bcrypt' of package 'npm-bcrypt'

Note

I guess I have node v0.10.32 installed on my OSX box (and node v0.10.33 installed on my amazon instance), but this shouldn't affect my node version for Meteor version 1.2.1, as it has its own version of node as far as I know.

mup Configuration

My mup.json, where domain-name.com is pointing to my Elastic IP assigned to the instance, looks like so:

{
  // Server authentication info
  "servers": [
    {
      "host": "domain-name.com",
      "username": "ubuntu",
      // or pem file (ssh based authentication)
      "pem": "/Users/user-name/Meteor/pem-file-name.pem"
    }
  ],

  // Install MongoDB in the server, does not destroy local MongoDB on future setup
  "setupMongo": true,

  // WARNING: Node.js is required! Only skip if you already have Node.js installed on server.
  "setupNode": true,

  // WARNING: If nodeVersion omitted will setup 0.10.33 by default. Do not use v, only version number.
  "nodeVersion": "0.10.33",

  // Install PhantomJS in the server
  "setupPhantom": false,

  // Application name (No spaces)
  "appName": "application-name",

  // Location of app (local directory)
  "app": "/Users/user-name/Meteor/application-name",

  // Configure environment
  "env": {
    "PORT": 80,
    "ROOT_URL": "http://domain-name.com",
    "MONGO_URL": "mongodb://localhost:27017/clients-database"
  },

  // Meteor Up checks if the app comes online just after the deployment
  // before mup checks that, it will wait for no. of seconds configured below
  "deployCheckWaitTime": 30
}
1
I have exact some problem. Did you tired it on ubuntu 14.10 instead of ubuntu 14.04 LTS.zevsuld
I am not sure, how about manually installing node-gyp.zevsuld
I tried to, still no succsesszevsuld

1 Answers

1
votes

In my case the solution was two fold. Again, I'm using a small Ubuntu Server 14.04 LTS (HVM), SSD Volume Type - ami-3d50120d EC2 instance.


First that I installed node version 0.10.35, instead of 0.10.33 using mup.

I was under the impression from https://github.com/meteor/meteor/blob/devel/History.md#upgraded-dependencies that node: 0.10.33 (from 0.10.29) was used by Meteor v1.0.2, 2014-Dec-19.


Second I changed my inbound/outbound rules on my AWS Security group. The only thing I added was HTTP inbound and all traffic outbound types.