【问题标题】:twitter gem not working in heroku?twitter gem 在heroku中不起作用?
【发布时间】:2011-06-01 06:13:36
【问题描述】:

我正在开发一个使用 'twitter' gem 更新 twitter 帐户的 ruby​​ 应用程序。它在本地工作正常(像往常一样:))。但是当我在 heroku 上部署它时,似乎没有正确安装 gem,或者出现以下错误:

NameError: uninitialized constant Twitter::OAuth

我的代码很简单:

oauth = Twitter::OAuth.new(consumer_token, consumer_secret)
oauth.authorize_from_access(access_token, access_secret)
client = Twitter::Base.new(oauth)
client.update("Updating my status from twitter gem.  GREAT!")

这个特定的宝石有问题吗?

非常感谢您的帮助。 卢克

【问题讨论】:

  • 您可能需要检查本地安装和生产环境中安装的 gem 版本是否相同。例如gem list | grep twitter 或将 Twitter::VERSION 放在两者上以确认它们是相同的

标签: ruby twitter heroku


【解决方案1】:

您是否创建了一个 .gems 文件并将twitter 放入其中?

根据您所在的heroku“堆栈”,您可能需要这样做而不是使用捆绑程序Gemfile。您可以通过执行以下操作将堆栈更改为使用捆绑器的堆栈:

heroku stack:migrate bamboo-ree-1.8.7

这使得捆绑器可用(我认为)。

【讨论】:

  • 你好,是的,我这样做了,但我意识到版本不正确。我在本地有 0.9.12,版本 1.0.0 安装在 heroku 上。然后我必须在我的 .gems 文件中指定“twitter --version 0.9.12”,然后它就可以工作了。
【解决方案2】:

这是一条常见消息,通常意味着您的本地 gem 与 heroku 中的 gem 之间存在差异。如果您还没有使用 Bundler,那么您应该这样做。您将结束编写一个非常简单的 Gemfile,它将告诉 Heroku(或使用您的代码的任何其他实体)您需要哪些 gem 和版本。

http://gembundler.com/

【讨论】:

  • 您好,我仍然使用.gems 文件,因为我不熟悉捆绑方式。我应该试一试,你的权利。
【解决方案3】:

我建议你应该使用名为“apigee”的 heroku 插件,这会让 heroku 上的 twitter 变得简单:

http://addons.heroku.com/apigee

【讨论】:

    【解决方案4】:

    我刚刚获得了一个通过 Heroku/Apigee 与 Twitter 对话的 sinatra 应用,我的速率限制从每小时 300 次调用增加到每小时 20,000 次调用。以下是如何做的一步一步:

    http://geeks.aretotally.in/mind/2011/1/8/increasing-api-limits-on-a-sinatra-twitter-app-with-twitter_.html

    我真的是一名 Java 开发人员,只是在玩 Sinatra,但如果我能提供任何帮助,请告诉我。

    费利佩

    【讨论】:

    • 谢谢 Felipe,我会检查一下。
    • 嘿 Luc 它对你有用吗?您还可以在github.com/feliperazeek/Paparazzi-on-Tweets 上查看完整的应用程序。
    • @Felipe Oliveira 您是否需要向 Apigee 支付任何费用才能提高速率限制?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-15
    • 2012-06-28
    • 1970-01-01
    • 2016-01-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多