Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
METEOR_设置环境变量不填充METEOR.SETTINGS_Meteor - Fatal编程技术网

METEOR_设置环境变量不填充METEOR.SETTINGS

METEOR_设置环境变量不填充METEOR.SETTINGS,meteor,Meteor,我在OS X系统上本地运行Meteor应用程序,并使用Meteor settings.json文件: $ cat meteor-settings.json { "public": { "s3path": "https://d2v4p3rms9rvi3.cloudfront.net" } } 当我运行meteor时,如下所示: $ meteor --version Meteor 1.2.1 $ meteor --settings meteor-settings.json $ e

我在OS X系统上本地运行Meteor应用程序,并使用
Meteor settings.json
文件:

$ cat meteor-settings.json
{
  "public": {
    "s3path": "https://d2v4p3rms9rvi3.cloudfront.net"
  }
}
当我运行meteor时,如下所示:

$ meteor --version
Meteor 1.2.1
$ meteor --settings meteor-settings.json
$ export METEOR_SETTINGS=$(cat meteor-settings.json)
$ echo $METEOR_SETTINGS
{ "public": { "s3path": "https://d2v4p3rms9rvi3.cloudfront.net" } }
$ meteor
Meteor.settings.public.s3path
具有预期的S3URL,一切都很好

根据设置,我可以使用
METEOR\u设置
环境变量。问题是,当我填充并导出它时(如下所示):

Meteor.settings.public
变为空,所有基于s3 url的功能都被破坏

如果不使用env变量,我无法绑定和模拟生产部署,因为afaik生产部署无法使用命令行标志(至少在AWS/EBS上)


为什么Meteor不填充Meteor.settings.public?有什么办法可以解决这个问题吗?

文档中最突出的一行是:

当直接运行服务器时(例如从捆绑包),您可以通过将JSON直接放入METEOR_settings环境变量来指定设置

当他们说“直接运行服务器(例如从捆绑包中运行)”时,他们的意思是使用meteor构建,然后使用node运行生成的捆绑包。meteor命令不会通过设计获取meteor\u设置,因为meteor\u设置仅用于生产

对于Amazon,请尝试以下内容:

METEOR_SETTINGS={"public": {"key": "ABC"}} node main.js

在命令中设置环境变量以运行meteor应用程序。不确定这是否适用于亚马逊。

谢谢!这就清楚了!正如经常被证明的那样,rtfm似乎在仔细地证明自己:)对于Amazon,单独的aws环境配置为环境变量提供了一个键/值输入页面,因此应该可以工作。如果没有,我会发布更新