2012-07-05 71 views
0

当我的dev的机器上运行bundle exec rake assets:precompile我得到一个耙子中止错误:耙子中止!当本地预编译资产

cannot load such file -- rack/google_analytics 

这是我这样是不是我的dev的机器上安装了生产组中的Gemfile:

group :production do 
    gem 'rack-google_analytics', :require => "rack/google_analytics" 
end 

任何想法如何解决这个问题?我正在运行rake 0.9.2.2和Rails 3.2.1。如果需要,我可以提供更多信息。

+0

不知道你是否已经看到了这个? http://support.microsoft.com/kb/8020852/rails-3-1-1-deploy-to-heroku-failing –

回答

1

唯一这样我可以解决,这是在我的Gemfile注释掉生产组,然后运行:

bundle install 
bundle exec rake assets:precompile 

然后在取消,安装重新运行包和推动与git/Capistrano的与部署。

+0

我想解决一个正确的答案,而不是这个黑客。我在本地进行预编译的原因是我无法在我的capfile中使用'load'deploy/assets''作为生产服务器窒息而不具备开发/测试组gem(特定情况下,它会中止使用'不需要这样的文件来加载 - faker'。 因此,如果有人可以建议更好的答案,我可以将它们设置为接受的答案。 – Rich

1

当我从false更改下面的值设置为true(在配置/环境/ production.rb),我能摆脱上述错误的

config.assets.compile =真

+0

恐怕这不适合我,我仍然看到错误。 – Rich

0

我猜你遇到这种情况的原因是,你以前做过:

bundle install --without production 

捆绑缓存此命令的某些版本并运行它作为默认。试运行这样清除缓存:

bundle install --without santa 

你的下一个命令

bundle exec rake assets:precompile 

应罚款一次。