【问题标题】:Bundle install broken on ruby 2.0 upgrade捆绑安装在 ruby​​ 2.0 升级时损坏
【发布时间】:2013-03-29 22:53:33
【问题描述】:

刚刚升级到 ruby​​ 2.0/rails 4.0 并尝试在新的 rails 项目上运行 bundle install。每当它碰到尚未安装的东西时,它就会吐出来:

Installing coffee-rails (4.0.0.beta1) 
Errno::ENOENT: No such file or directory - /usr/lib/ruby/gems/2.0.0/build_info/coffee-rails-4.0.0.beta1.info
An error occurred while installing coffee-rails (4.0.0.beta1), and Bundler cannot continue.
Make sure that `gem install coffee-rails -v '4.0.0.beta1'` succeeds before bundling.

然后我运行

gem install coffee-rails -v '4.0.0.beta1'

它安装得很好,我重新运行 bundle install 并且每次运行到我尚未安装的 gem 版本时都必须重复此操作。这里有什么问题?

【问题讨论】:

  • 你的 Gemfile 是什么样子的。
  • 新 Rails 项目的默认 gemfile 是什么?
  • 什么版本的捆绑器?
  • 你的操作系统是什么?你用什么工具来安装 ruby​​?
  • 我遇到了同样的问题。你找到解决办法了吗?

标签: ruby bundler ruby-on-rails-4 ruby-2.0


【解决方案1】:

这为我解决了:

sudo gem update --system --no-user-install

来源:https://bbs.archlinux.org/viewtopic.php?id=138650

【讨论】:

    【解决方案2】:

    在我的情况下,原来 bundle 试图将 gems 安装到 /usr/lib/ruby/gems/2.0.0 的全局位置,但由于我没有通过 sudo 调用它,所以最终出现权限错误。无论如何,我想安装到我的主目录,结果证明我可以做到:

    GEM_HOME=~/.gem/ruby/2.0.0/ bundle
    

    从此过上幸福的生活。

    【讨论】:

      【解决方案3】:

      bundle 可执行文件只是一个 shell 脚本,它有一个 shebang 行,它将指向一个特定的 Ruby 可执行文件(或/usr/bin/env ruby)。听起来 shebang 行指向的是不同版本的 Ruby,而不是 2.0 版本,也不是 gem 可执行文件中的 shebang 行所指向的那个。

      运行它以查看它指向的内容:head -1 $(which bundle)

      无论显示什么行,去掉#! 前缀并使用-v 开关运行该行以查看它是哪个版本的Ruby(如果不明显)。因此,如果 shebang 行是 #!/usr/bin/ruby 然后运行 ​​/usr/bin/ruby -v 如果我的理论是正确的,那么您将在那里得到一个非 2.0 版本号。

      根据您所说的,您的 gem 可执行文件指向 2.0 Ruby,因此这里的解决方法是卸载然后重新安装 bundler gem。 应该将正确的 Ruby 2.0 shebang 行放入您的 bundle 可执行文件中。

      【讨论】:

        【解决方案4】:

        把它放在你的 Gemfile 中,然后运行 ​​bundle install。

        group :assets do
          gem 'coffee-rails', github: 'rails/coffee-rails'
        end
        

        【讨论】:

        • 这个 gem 只是一个例子,它发生在我没有安装的任何 gem 上。
        • 在 Rails 4 中不再有资产组。
        猜你喜欢
        • 2012-11-12
        • 1970-01-01
        • 2019-03-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多