除非我提供CC编号,否则在Heroku中使用MongoLab不起作用?

时间:2015-10-01 06:15:53

标签: node.js heroku deployment

我开发了一个nodeJS应用程序,使用Angular作为前端(使用MEAN堆栈并计划使用Bootstrap),当我尝试将其部署到Heroku时,每当我运行此行时:heroku addons:create mongolab I得到以下输出:

bruno@bruno-HP-epicsauce:~/herokuFinalApp$ heroku addons:create mongolab
 !    Please verify your account to install this add-on plan (please enter a credit card) For more information, see https://devcenter.heroku.com/categories/billing Verify now at https://heroku.com/verify 
bruno@bruno-HP-epicsauce:~/herokuFinalApp$

在两个网站(mongolab和Heroku)中,它说它是免费的...我已经定义了名为MONGOLAB_URI的heroku env变量,如下所示:

bruno@bruno-HP-epicsauce:~/herokuFinalApp$ heroku config:set MONGOLAB_URI=mongodb://USER:PASS@ds041643.mongolab.com:41643/dbNAME
Setting config vars and restarting rocky-sea-9859... done, v4
MONGOLAB_URI: mongodb://USER:PASS@ds041643.mongolab.com:41643/dbNAME
bruno@bruno-HP-epicsauce:~/herokuFinalApp$ heroku config | grep MONGOLAB_URIMONGOLAB_URI: mongodb://USER:PASS@ds041643.mongolab.com:41643/dbNAME
bruno@bruno-HP-epicsauce:~/herokuFinalApp$

它仍然不起作用......

在git存储库中,我有以下文件结构:

enter image description here

应用正在侦听端口:process.env.PORT而不是某些本地端口,而package.json文件包含正确的依赖关系,因为它是使用npm init自动生成的。

在proc文件中,我通常引用包含服务器端代码的文件:

web:node server.js

app.js包含Angular客户端代码。

是否有100%免费的方式在Heroku中部署应用程序并在某处托管数据库?

4 个答案:

答案 0 :(得分:6)

在Heroku上有两种选择使用MongoLab服务:

  1. 从Heroku连接现有的MongoLab部署(无需信用卡)
  2. 将MongoLab添加为Heroku附加组件(需要信用卡)
  3. 由于您已设置MONGOLAB_URI,我假设您使用MongoLab创建了一个单独的帐户并创建了一个新的MongoDB部署。在这种情况下,您不需要插件。如果您将MongoDB驱动程序配置为使用连接URI,则在Heroku上设置MONGOLAB_URI配置通常就足够了。 有关此here

    的更多信息

    Heroku要求提供信用卡以进行验证。除非您选择付费插件,否则不会向您收费。

      

    如果您愿意,您必须验证自己的帐户:   即使加载项是免费的,也可以向您的应用添加任何加载项。唯一的例外是Heroku Postgres和Heroku Connect附加组件的免费计划,无需验证即可添加(source

答案 1 :(得分:4)

来自员工的留言:

  

如果您只使用免费套餐,则不会向您收取任何费用。不幸的是一些   人们为了邪恶的目的使用免费的附加计划,所以我们需要一种方法   验证帐户。现在我们通过申请有效的信用来做到这一点   我们可能会在未来添加更多验证机制。

我与你的观点相同,但正如你所读到的,添加这些信息没有问题(但说实话,我也更喜欢其他方式)。

答案 2 :(得分:2)

我不知道它实际上会向您收费,它只是想让CC验证。但是你可以随时使用http://progrium.viewdocs.io/dokku/或Digital Ocean VPS(这实际上并不比设置你的开发机器更难,只要你不期望完美的安全等等。)

答案 3 :(得分:0)

您不需要mLab MongoDB插件,只需手动添加Config Vars