使用mongoLab和Heroku沙箱部署流星应用程序

时间:2016-09-02 15:42:02

标签: mongodb meteor heroku mlab

我查了几个博客。特别是this一个关于使用mongolab在heroku上部署和托管meteor的问题。

我按照以下步骤操作:

  1. 创建一个meteor应用程序(仅适用于测试v.1.4)meteor create test
  2. cd test
  3. git init
  4. git add .
  5. git commit -m "tst"
  6. heroku create pikachu
  7. heroku config:set ROOT_URL="https://pikachu.herokuapp.com"
  8. heroku config:set MONGO_URL="pikachu:este@dsxxx.mlab.com:xxx/pikachueste"
  9. heroku buildpacks:set https://github.com/Pushplaybang/meteor-buildpack-horse
  10. git push heroku master
  11. 部署后出现以下错误:

    Starting process with command .meteor/heroku_build/bin/node .meteor/heroku_build/app/main.js
    

    退出状态为8的流程

    assert.js:93 
    throw new assert.AssertionError: "undefined" === "function"
    at wrapPathFunction(/app/.meteor/heroku_build/app/programs/server/mini-    files.js:77:10)
    at Object.<anonymus>(/app/.meteor/heroku_build/app/programs/server/mini-files.js:108:24)
    

    ...

    Process exited with status 8
    

    状态从开始变为崩溃

    我注意到当我尝试在我的沙箱中安装mongodb插件时:

    heroku addons:create mongolab:sandbox
    

    流程完成:

    !Please verify your account to install this add-on plan ...
    

    是否因为我无法安装mongodb插件而出现问题? 是否可以在heroku沙箱中安装mongodb插件? 还有其他选择吗?

    谢谢,

1 个答案:

答案 0 :(得分:1)

此错误的原因之一:

assert.js:93 throw new assert.AssertionError: "undefined" === "function" at wrapPathFunction(/app/.meteor/heroku_build/app/programs/server/mini- files.js:77:10) at Object.<anonymus>(/app/.meteor/heroku_build/app/programs/server/mini-files.js:108:24)

是否在heroku上运行的节点版本与流星正在使用的节点版本不同。到目前为止,Meteor正在使用节点v.4.5.0,而你的buildpack使用的是低于该节点。我曾经使用过那个buildpack并且遇到了同样的错误。

您可以使用原始meteor buildpack horse并处理

Please verify your account to install this add-on plan ...删除mongolab插件。我自己也经历过这些问题。你可以参考this guide,这样你就可以更清楚了。它使用原始流星buildpack马的叉子而没有mongolab插件。按照指南,你会没事的。