Ресурсы Rails 3.1: ошибка при прекомпиляции с RVM - PullRequest
1 голос
/ 24 февраля 2012

Эта проблема мучает меня часами.

Я установил RVM в системный каталог, и если я должен был закомментировать в Capfile:

load 'deploy/assets'

Это нормально работает, и мое приложение развернуто.

Однако, когда я раскомментирую эту строку, capistrano выполнит актив: прекомпиляцию, которая мне нужна. Это выдает мне следующую ошибку:

Could not find multi_json-1.0.4 in any of the sources

Похоже, проблема заключается в том, что при установке capistrano сборщик устанавливает gems в другой каталог в rvm. Там, где он должен быть установлен в rvm_path / gems / gemset_path /, он устанавливает его в rvm_path / gems / gemset_path / ruby ​​/ 1.9.1 /, как описано здесь в этом посте: Проблемы с RVM, Capistrano и пути компоновщика .

Кто-нибудь еще сталкивался с этой проблемой и нашел способ решить эту проблему?

Спасибо!

EDIT:

Наконец-то нашли решение этой проблемы. Эта ссылка объясняет это: https://github.com/capistrano/capistrano/issues/81.

По сути, все, что нужно было сделать, это выполнить установку пакета, прежде чем делать asset: precompile, и это не имело отношения к проблеме, которую я поднял в своем вопросе.

Помогло только добавление этого в файл deploy.rb:

before "deploy:assets:precompile", "bundle:install"

1 Ответ

2 голосов
/ 25 февраля 2012

На самом деле, самый простой способ сделать это - просто перейти на Bundler 1.0.8. Это решает проблему незапущенной установки пакета перед компиляцией ресурса.

...