0

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

到目前为止我做了什么

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

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

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

此外,在运行“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: {}
    }
  }
};

任何帮助将不胜感激!

谢谢

4

2 回答 2

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
    }

  },

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

去掉逗号,一切都会好起来的!

于 2017-11-25T06:31:58.867 回答
0

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

这是来自Meteor Up 常见问题页面的解决方案:

Mup 静默失败,打开 mup.js 文件,或者您收到 Windows 脚本错误

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

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

于 2020-05-19T03:47:03.523 回答