Для моего приложения PHP Symfony мне нужны Compass и Sass. Оба должны быть установлены в vendor/bundle
папка моего проекта.
Это то, что я сделал до сих пор:
$ gem install bundler
Successfully installed bundler-1.10.6
1 gem installed
$ bundle install --path vendor/bundle
Fetching gem metadata from https://rubygems.org/...........
Fetching version metadata from https://rubygems.org/...
Fetching dependency metadata from https://rubygems.org/..
// ... Installing some gems
Using bundler 1.10.6
Bundle complete! 2 Gemfile dependencies, 10 gems now installed.
Bundled gems are installed into ./vendor/bundle.
Ну, теперь дело доходит до моей проблемы. Когда я выполняю один из установленных гемов, я получаю следующую ошибку:
$ vendor/bundle/ruby/1.9.1/bin/compass
/usr/local/rvm/rubies/ruby-1.9.3-p551/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:315:in `to_specs': Could not find 'compass' (>= 0) among 30 total gem(s) (Gem::LoadError)
Checked in 'GEM_PATH=/usr/local/rvm/gems/ruby-1.9.3-p551:/usr/local/rvm/gems/ruby-1.9.3-p551@global', execute `gem env` for more information
from /usr/local/rvm/rubies/ruby-1.9.3-p551/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:324:in `to_spec'
from /usr/local/rvm/rubies/ruby-1.9.3-p551/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_gem.rb:64:in `gem'
from vendor/bundle/ruby/1.9.1/bin/compass:22:in `<main>'
Я понял, что он выглядит в $ GEM_PATH и, конечно, не может его найти. Но как мне решить эту проблему? Я не хочу менять путь к папке с проектом.
С сверток Вы должны запустить приложение с Bundle Exec команда. Для запуска компаса вы можете сделать, например:
$ bundle exec compass watch
или же
$ bundle exec compass compile
Проверьте эта хорошая статья о дальнейшей информации.
Надеюсь это поможет
Других решений пока нет …