【问题标题】:Unable to install bundle无法安装捆绑包
【发布时间】:2014-05-31 00:51:02
【问题描述】:

我正在按照Rails Tutorial Chapter 3 上的说明进行操作。当运行命令行bundle install --without production 时,我得到:

Bundler could not find compatible versions for gem "sprockets-rails":

In snapshot (Gemfile.lock):
  sprockets-rails (2.1.3)

In Gemfile:

sass-rails (= 4.0.1) ruby depends on
  sprockets-rails (~> 2.0.0) ruby

运行 bundle update 将从头开始重建您的快照,仅使用 您的 Gemfile 中的 gem,这可能会解决冲突。

运行捆绑更新时,我得到:

An error occurred while installing nokogiri (1.6.2.1), and Bundler cannot continue.
Make sure that `gem install nokogiri -v '1.6.2.1'` succeeds before bundling.

当我运行 gem install nokogiri -v '1.6.2.1' 时,它会抱怨:

构建原生扩展。这可能需要一段时间... nokogiri 使用打包的库。错误:安装 nokogiri 时出错: 错误:无法构建 gem 原生扩展。 /Users/yotamros/.rvm/rubies/ruby-2.1.2/bin/ruby extconf.rb 构建 nokogiri 使用打包的库。 ----- libiconv 丢失。请 访问 nokogiri.org/tutorials/installing_nokogiri.html 寻求帮助 安装依赖项。 ----- * extconf.rb 失败 *

这是我的 Gemfile:

source 'https://rubygems.org'
ruby '2.1.2'
#ruby-gemset=railstutorial_rails_4_0

gem 'rails', '4.1.1'

group :development, :test do
  gem 'sqlite3', '1.3.8'
  gem 'rspec-rails', '2.13.1'
end

group :test do
  gem 'selenium-webdriver', '2.35.1'
  gem 'capybara', '2.1.0'
end

gem 'sass-rails', '4.0.1'
gem 'uglifier', '2.1.1'
gem 'coffee-rails', '4.0.1'
gem 'jquery-rails', '3.0.4'
gem 'turbolinks', '1.1.1'
gem 'jbuilder', '1.0.2'

group :doc do
  gem 'sdoc', '0.3.20', require: false
end

group :production do
  gem 'pg', '0.15.1'
  gem 'rails_12factor', '0.0.2'
end

任何帮助将不胜感激。

【问题讨论】:

  • 尝试运行gem install nokogiri -v '1.6.2.1' 并告诉我们您遇到了什么错误?
  • 这里是错误:构建原生扩展。这可能需要一段时间......使用打包的库构建 nokogiri。错误:安装 nokogiri 时出错:错误:无法构建 gem 原生扩展。 /Users/yotamros/.rvm/rubies/ruby-2.1.2/bin/ruby extconf.rb 使用打包的库构建 nokogiri。 ----- libiconv 丢失。请访问nokogiri.org/tutorials/installing_nokogiri.html 获取安装依赖项的帮助。 ----- *** extconf.rb 失败 ***
  • 你的操作系统是什么?

标签: ruby-on-rails bundler


【解决方案1】:

我找到了适合我的解决方案here(克劳迪奥·波利):

  1. brew reinstall libiconv libxml2 libxslt
  2. gem install nokogiri -- --with-iconv-dir=/usr/local/Cellar/libiconv/1.14/

【讨论】:

    【解决方案2】:

    尝试在您的 Gemfile 中添加 sass-rails to '~> 4.0.3'。您已将其锁定为特定的稍微过时的版本。值得一提的是,一个全新的 Rails 4.1.1 项目具有以下优点:

    gem 'sass-rails', '~> 4.0.3'
    gem 'uglifier', '>= 1.3.0'
    gem 'therubyracer',  platforms: :ruby
    gem 'jquery-rails'
    gem 'turbolinks'
    

    (我会在评论中写这个,但我还没有那么酷。)

    【讨论】:

    • 我在 Gemfile 中将 sass-rails 更改为 4.0.3。运行 bundle install --without production 时出现此错误:安装 nokogiri (1.6.2.1) 时出错,并且 Bundler 无法继续。在捆绑之前确保gem install nokogiri -v '1.6.2.1' 成功。
    • 请参阅此页面上的“从源代码安装 libiconv”:nokogiri.org/tutorials/installing_nokogiri.html 可能会有所帮助。我在 10.9.3 上使用了 nokigiri,但不必安装 libiconv,所以我不确定为什么有些人必须这样做。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多