“mup init”之后的Meteor-Up(mup)错误

时间:2017-11-24 23:41:08

标签: javascript node.js meteor deployment mup

我正在尝试使用mup将流星应用程序部署到我的DigitalOcean Droplet。

到目前为止我做了什么

  • 关于“Meteor-Up”网站http://meteor-up.com/getting-started.html的说明。
  • 通过“npm install --global mup”
  • 安装了mup
  • 在我的app目录中创建了“.deploy”文件夹。跑“mup init”。
  • 为我的应用配置文件“mup.js”文件,运行“mup setup”。

这是我遇到错误的地方。运行“mup setup”后,我遇到以下错误。 [1]

我尝试了什么: 我怀疑在配置mup.js文件时我的语法可能有问题。在仔细检查并且没有发现任何错误之后,我决定重新安装mup,并尝试运行“mup setup”而不修改“mup.js”文件。但是,我仍然收到相同的错误消息。

此外,在运行“mup init”之后,我也无法运行“mup”,因为我收到了与上面相同的错误。因此我怀疑问题出在mup.js文件中。我已经附加了下面的meteor-up提供的通用版本(这仍然会导致上面看到的错误)。

module.exports = {
  servers: {
    one: {
      // TODO: set host address, username, and authentication method
      host: '1.2.3.4',
      username: 'root',
      // pem: './path/to/pem'
      // password: 'server-password'
      // or neither for authenticate from ssh-agent
    }
  },

  app: {
    // TODO: change app name and path
    name: 'app',
    path: '../app',

    servers: {
      one: {},
    },

    buildOptions: {
      serverOnly: true,
    },

    env: {
      // TODO: Change to your app's url
      // If you are using ssl, it needs to start with https://
      ROOT_URL: 'http://app.com',
      MONGO_URL: 'mongodb://localhost/meteor',
    },

    // ssl: { // (optional)
    //   // Enables let's encrypt (optional)
    //   autogenerate: {
    //     email: 'email.address@domain.com',
    //     // comma separated list of domains
    //     domains: 'website.com,www.website.com'
    //   }
    // },

    docker: {
      // change to 'abernix/meteord:base' if your app is using Meteor 1.4 - 1.5
      image: 'abernix/meteord:node-8.4.0-base',
    },

    // Show progress bar while uploading bundle to server
    // You might need to disable it on CI servers
    enableUploadProgressBar: true
  },

  mongo: {
    version: '3.4.1',
    servers: {
      one: {}
    }
  }
};

任何帮助将不胜感激!

谢谢

2 个答案:

答案 0 :(得分:0)

您发布的错误对话框在第10行(字符5)显示语法错误。

如果你看看:

module.exports = {
  servers: {
    one: {
      // TODO: set host address, username, and authentication method
      host: '1.2.3.4',
      username: 'root',
      // pem: './path/to/pem'
      // password: 'server-password'
      // or neither for authenticate from ssh-agent
    }
   ^^^ This character
  },

这是JS没想到的结束支撑。那么为什么它出乎意料,让我们回到最后一个有效的语法:

module.exports = {
  servers: {
    one: {
      // TODO: set host address, username, and authentication method
      host: '1.2.3.4',
      username: 'root',
                      ^^^ This character
      // pem: './path/to/pem'
      // password: 'server-password'
      // or neither for authenticate from ssh-agent
    }

  },

好吧,看起来像一个逗号,后面跟着另一个键值对。也称为语法错误。

取出逗号,事情应该再好了!

答案 1 :(得分:0)

我今天也遇到了同样的问题。问题在于Windows试图将mup.js文件作为JScript脚本执行。

这是Meteor Up Common Problems页面上的解决方案:

Mup静默失败,而是打开mup.js文件,或者出现Windows脚本错误

如果使用Windows,请确保使用mup.cmd而不是mup运行命令,或者使用PowerShell。

也就是说,运行mup setup而不是mup.cmd setup