1

最近、3.0 リリースが統合された Bundle gem (安定版 2.3.x) をインストールしました。2.3.x のインストールに関するドキュメントは不十分なので、ここで助けを求めています。

gem バンドラーのインストールと構成に関するこの記事のすべてを実行しました (gem バンドラーのインストール、Gemfile の定義、preinitializer.rb の追加、bundler_gems/environment.rb の要求):

http://litanyagainstfear.com/blog/2009/10/14/gem-bundler-is-the-future/

スクリプト/サーバーを正常に実行できますが、ブラウザーから任意のページにアクセスしようとすると、多くの ActionView メソッドが未定義であると主張する 500 内部サーバー エラーが発生します。

ActionView::TemplateError (undefined method `debug' ...

ActionView::TemplateError (undefined method `javascript_tag' ... 

どこかで失敗しているいくつかの宝石の依存関係が必要ですか? これが私のGemfileです(レール2.3.5):

clear_sources
bundle_path "vendor/bundler_gems"

source "http://gems.github.com"
source "http://gemcutter.org"

gem "rails", "2.3.5"
gem "formtastic"
gem "authlogic"
gem "will_paginate"
gem "cancan"

ポインタはありますか?

4

4 に答える 4

1

したがって、Rails 2.3.5 で gem バンドラーを構成するには:

preinitializer.rb スクリプトを次のように変更しました。

# Load the environment constructed from the Gemfile
require "#{File.dirname(__FILE__)}/../vendor/bundler_gems/environment"

module Rails
  class Boot
    def run
      load_initializer
      extend_environment
      Rails::Initializer.run(:set_load_path)
    end

    def extend_environment
      Rails::Initializer.class_eval do
        old_load = instance_method(:load_gems)
        define_method(:load_gems) do
          old_load.bind(self).call
          Bundler.require_env RAILS_ENV
        end
      end
    end
  end
end

また、config/environment.rb から Bundler.require_env 定義をすべて削除しましたが、すべて問題ありませんでした。

http://gist.github.com/286099

于 2010-01-25T19:33:21.403 に答える
1

参考までに、バンドルは現在 0.9.5 です。これが最新の Rails 2.3.5 構成です (基本的に、ここでは他のすべてを無視できます)。

http://gist.github.com/302406

于 2010-02-14T16:53:38.470 に答える
0

これらの gem のほとんど (またはすべて) は Rails プラグインです。Rails の初期化段階でそれらを要求する必要があります。これをあなたに貼り付けますafter_initialize

config.after_initialize do
  Bundler.require_env
end
于 2010-01-25T19:36:31.887 に答える
0

Gem Bundler ドキュメントの改善に伴い更新:

http://gembundler.com/rails23.html

于 2010-06-16T12:50:50.290 に答える