twitter gem不在heroku工作?

时间:2010-12-29 20:49:16

标签: ruby twitter heroku

我正在开发一个使用'twitter'宝石来更新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!")

这个特殊宝石有问题吗?

非常感谢你的帮助。 LUC

4 个答案:

答案 0 :(得分:2)

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

根据您所使用的heroku'堆栈',您可能需要执行此操作而不是捆绑器Gemfile。您可以通过执行以下操作来更改使用bundler的堆栈:

heroku stack:migrate bamboo-ree-1.8.7

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

答案 1 :(得分:1)

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

http://gembundler.com/

答案 2 :(得分:0)

我建议您使用名为'apigee'的heroku插件,在heroku上使用twitter简单:

http://addons.heroku.com/apigee

答案 3 :(得分:0)

我刚刚通过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,但如果我可以提供任何帮助,请告诉我。

菲利普