Gem bundle install 时的问题

gugugupan · 2012年07月31日 · 最后由 gugugupan 回复于 2012年07月31日 · 3728 次阅读

gem 在进行 bundle install 时有人碰到这样的问题么…… 一个 gem 叫做httpauth。然后我发现在 ruby 版本 1.8.7 的时候安装它总是出错(只有换成 ruby1.9.2 才能正常运行) 所以在 1.8.7 的环境下我手动下载了这个 gem 然后安装好了。 之后运行bundle install。 之前一些 gem 都很顺利的 using 完毕了。 在Using httpauth这个 gem 的时候,发现了如下的问题:

TypeError: instance of Date needs to have method `marshal_load'
An error occured while installing httpauth (0.1), and Bundler cannot continue.
Make sure that `gem install httpauth -v '0.1'` succeeds before bundling.

……OMG 这几天已经看了无数次的 TypeError 了。 所以有人能帮忙回答一下这个问题是因为什么出现的嘛?

Versions 0.1 September 4, 2006

这库太老,肯定没人维护,什么 gem 依赖了它估计也是失去维护了的,别用了。

#1 楼 @Rei OMG 这个库被 Oauth2 直接以来的呀><

Runtime Dependencies

    faraday ~> 0.8
    httpauth ~> 0.1
    jwt ~> 0.1.4
    multi_json ~> 1.0
    rack ~> 1.2

不过里面连httpauth.gemspec都木有来着。

升级 rubygems

gem update --system

#3 楼 @Rei

vidafm@vidafm-test001:~/web2$ gem -v
1.8.24
vidafm@vidafm-test001:~/web2$ gem update --system
Latest version currently installed. Aborting.

最新版了哦><

如果是 ruby.taobao.org 的源安装这个就会有问题,切换到 rubygems.org 下再安装一次就可以了

#5 楼 @Richie 是这样吗,好的我去试一试>< 不过在那下面的话需要翻墙吧似乎一般的手段不行…… 话说如果 gem 已经被保存在本地了它还需要下载吗?

#4 楼 @gugugupan 这个是 1.8.7 的 rubygems 吗?(不把亲删掉我就不回了)

#7 楼 @Rei 不好意思习惯性卖萌了……= = 唔没太听懂你的意思,rubygems 的版本不能向下兼容的吗?

#8 楼 @gugugupan 如果你装了两个 ruby,他们分别会有不同版本的 rubygems。

#9 楼 @Rei ruby 的版本是通过 rvm 来管理的,这样也会有问题么? 倒是 rvm 它也是能管理 gem 的嘛?!

#10 楼 @gugugupan rvm 可以管 gemsets(这个功能基本弃用)

先切换到 ruby 1.8.7 再升级 rubygems

其实解决不了也可以不管了,1.8.7 逐渐弃用了。

#11 楼 @Rei 嗯,实在不行我就升级 1.9.2 吧,不过 1.9.2 的话似乎一定程序不兼容 1.8.7 的代码呢。 谢谢 ><

#12 楼 @gugugupan 现实是新的包不再兼容 1.8,比如 Rails 4.0

#13 楼 @Rei 现在我还在用 3.1 的架构,要换成 4.0 估计要大改了那个只有再说了=w=

需要 登录 后方可回复, 如果你还没有账号请 注册新账号