1

これは機能するはずだと思います。

環境.rb

config.gem "hoptoad_notifer", :version => '=2.1.2'

インストールされている gem のリスト:

$ gem list hoptoad_notifier

*** LOCAL GEMS ***

hoptoad_notifier (2.1.2)

rake:gems の出力

$ rake gems
(in /rails/appdir)
 - [R] hoptoad_notifier = 2.1.2

I = Installed
F = Frozen
R = Framework (loaded before rails starts)

開梱:

$ rake gems:unpack
(in /rails/appdir)
/rails/appdir (master)
$
#  that is, no result; immediate return

この宝石が解凍されないのはなぜですか? アプリが起動し、rake hoptoad:test問題なく動作するので、システム gem から正常にロードされます。展開のためにすべてをベンダー化したいだけです。

4

1 に答える 1

2

これは Rails 1.0 より前のアプリで、rake rails:update最近は実行していませんでした。

私はそうしました、そしてそれはこの行を追加しました:

# boot.rb
Rails::GemDependency.add_frozen_gem_path

これは Rails にベンダー/gem の凍結された gem などをチェックするように指示します。

次に、gem がインストールされていることを確認し、期待どおりに解凍することができました。

$ rake gems
(in /rails/appdir)
- [I] hoptoad_notifier = 2.1.2

$ rake gems:unpack
(in /rails/appdir)
Unpacked gem: '/rails/appdir/vendor/gems/hoptoad_notifier-2.1.2'
于 2010-01-25T22:04:58.333 に答える