METEOR_设置环境变量不填充METEOR.SETTINGS
我在OS X系统上本地运行Meteor应用程序,并使用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
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环境配置为环境变量提供了一个键/值输入页面,因此应该可以工作。如果没有,我会发布更新