使用 Meteor Up 在 DigitalOcean 上部署 Meteor 应用程序时出错

Error Deploying Meteor App on DigitalOcean Using Meteor Up

我试图通过 IP 地址(我没有域名)将 Meteor 应用程序部署到 DigitalOcean Droplet 上。我是第一次做这种事情,所以遇到了很多问题。

这是我在 Digital Ocean 上的 droplet:

我使用 mup init 在我的 Meteor 应用程序的存储库之外创建了一个 MUP (Meteor Up) 目录,这是我拥有的 mup.js 文件:

module.exports = {
    servers: {
        one: {
            host: '162.243.57.207',
            username: 'cs673f16',
            pem: '/Users/gautambhat/.ssh/id_rsa'
            // password:
            // or leave blank for authenticate from ssh-agent
        }
    },

    meteor: {
        name: 'meetcute',
        path: '/Users/gautambhat/Repos/CS673_team2',
        servers: {
            one: {}
        },
        buildOptions: {
        serverOnly: true,
        },
        env: {
            ROOT_URL: 'http://162.243.57.207',
            PORT : 3000
            //MONGO_URL: 'mongodb://localhost/meteor'
        },

        //dockerImage: 'kadirahq/meteord'
        deployCheckWaitTime: 60
    },

    mongo: {
        oplog: true,
        port: 27017,
        servers: {
            one: {},
        },
    },
};

此外,我不知道我的MONGO_URL,也不知道在哪里可以找到它,所以我只是把它注释掉了。在 运行 设置和 运行 mup deploy 之后,我得到了这个:

=> Starting meteor app on port:80

assert.js:93
  throw new assert.AssertionError({
        ^
AssertionError: "undefined" === "function"
    at wrapPathFunction (/bundle/bundle/programs/server/mini-files.js:77:10)
    at Object.<anonymous> (/bundle/bundle/programs/server/mini-files.js:108:24)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (/bundle/bundle/programs/server/boot.js:9:13)
    at Module._compile (module.js:456:26)
-----------------------------------STDOUT-----------------------------------

在不同网站上进行了一些在线研究后,我找到了一个解决方法 here

新kadirahq/mup

默认的 dockerImage 是 meteorhacks/meteord:base 因此仍然使用 Node 0.10.43。如果有人从基础构建并发布了一个新图像,它可以很容易地交换。我已经继续并提供了一个 abernix/meteord:base 图像,并对 运行 Node 4.4.7 + 进行了必要的更改NPM 3 在更新发行版上的好处(jessie 而不是 wheezy)。我不确定这是否是 kadira 很快就会自己提供的东西。 您可以通过在 mup.js 中添加以下内容来使用我的图像,在 meteor 对象中(有关详细信息,请参阅文档),然后使用 mup deploy 重新部署:

dockerImage: 'abernix/meteord:base'