我正在开发一个使用'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
答案 0 :(得分:2)
您是否创建了.gems文件并将twitter
放入其中?
根据您所使用的heroku'堆栈',您可能需要执行此操作而不是捆绑器Gemfile。您可以通过执行以下操作来更改使用bundler的堆栈:
heroku stack:migrate bamboo-ree-1.8.7
使捆绑器可用(我认为)。
答案 1 :(得分:1)
这是一个常见的消息,通常意味着您的本地宝石与heroku中的宝石之间存在差异。如果你还没有使用Bundler,你应该这样做。你将结束你写一个非常简单的Gemfile,告诉Heroku(或使用你的代码的任何其他实体)你需要哪些宝石和版本。
答案 2 :(得分:0)
我建议您使用名为'apigee'的heroku插件,在heroku上使用twitter简单:
答案 3 :(得分:0)
我刚刚通过Heroku / Apigee与Twitter交谈了一个sinatra应用程序,我的速率限制从每小时300个电话到每小时20,000个电话。以下是有关如何做的一步一步:
我真的是一名Java开发人员,只是在玩Sinatra,但如果我可以提供任何帮助,请告诉我。
菲利普