`bundler install --deployment`缺少`to_yaml`?

时间:2013-03-04 20:00:41

标签: ruby gem bundler

我不是红宝石专家,但我已设法收集足够的信息来设置Gemfile并安装所需的Gemfiles。

然而,最近,我遇到了一些问题。无论出于何种原因,我现在收到此错误:

> bundle install --deployment
      Unfortunately, a fatal error has occurred. Please see the Bundler
      troubleshooting documentation at http://bit.ly/bundler-issues. Thanks!
/usr/lib/ruby/gems/1.8/gems/bundler-1.3.1/lib/bundler/settings.rb:129:in `set_key': undefined method `to_yaml' for {"BUNDLE_FROZEN"=>"1"}:Hash (NoMethodError)
    from /usr/lib/ruby/gems/1.8/gems/bundler-1.3.1/lib/bundler/settings.rb:129:in `open'
    from /usr/lib/ruby/gems/1.8/gems/bundler-1.3.1/lib/bundler/settings.rb:129:in `set_key'
    from /usr/lib/ruby/gems/1.8/gems/bundler-1.3.1/lib/bundler/settings.rb:17:in `[]='
    from /usr/lib/ruby/gems/1.8/gems/bundler-1.3.1/lib/bundler/cli.rb:219:in `install'
    from /usr/lib/ruby/gems/1.8/gems/bundler-1.3.1/lib/bundler/vendor/thor/task.rb:27:in `__send__'
    from /usr/lib/ruby/gems/1.8/gems/bundler-1.3.1/lib/bundler/vendor/thor/task.rb:27:in `run'
    from /usr/lib/ruby/gems/1.8/gems/bundler-1.3.1/lib/bundler/vendor/thor/invocation.rb:120:in `invoke_task'
    from /usr/lib/ruby/gems/1.8/gems/bundler-1.3.1/lib/bundler/vendor/thor.rb:344:in `dispatch'
    from /usr/lib/ruby/gems/1.8/gems/bundler-1.3.1/lib/bundler/vendor/thor/base.rb:434:in `start'
    from /usr/lib/ruby/gems/1.8/gems/bundler-1.3.1/bin/bundle:20
    from /usr/lib/ruby/gems/1.8/gems/bundler-1.3.1/lib/bundler/friendly_errors.rb:3:in `with_friendly_errors'
    from /usr/lib/ruby/gems/1.8/gems/bundler-1.3.1/bin/bundle:20
    from /usr/bin/bundle:19:in `load'
    from /usr/bin/bundle:19

我看过recommended link,但问题仍然存在。我的Gemfile非常简单:

source "https://rubygems.org"
gem 'sass'

随附的Gemfile.lock

GEM
  remote: https://rubygems.org/
  specs:
    sass (3.2.6)

PLATFORMS
  ruby

DEPENDENCIES
  sass

为什么bundler无法安装?

更多详情
使用较旧版本的bundler(比方说,1.2),效果很好。只是不 1.3.1

我正在使用ruby 1.8.7和rubygems 1.8.11。

2 个答案:

答案 0 :(得分:0)

当您安装ruby时,您没有在系统上安装libyaml。 Ruby需要libyaml才能使用它的standardlib yaml库。

尝试安装libyaml(查找如何为您的特定操作系统),然后重新安装ruby。

答案 1 :(得分:0)

刚刚遇到同样的问题并通过卸载最新的捆绑软件版本1.3.1

解决了这个问题
gem uninstall bundler -v 1.3.1

bundler 1.3.0 应该让它通过;)

编辑:不知道为什么:|