Rails3 и `cd somehwere && делают что-то` - PullRequest
0 голосов
/ 14 января 2011

У меня есть проект rails, в котором есть другие проекты, в подпроектах есть файлы rake и bundler.

Когда я выполняю подпроект ruby ​​-e `cd && rake` или ruby ​​-e` подпроект cd && bundle` , команды работают должным образом и используют команды грабли / bundler файлы подпроекта. Однако, когда я делаю то же самое с консоли Rails3 (rails 3.0.3), rake выдает ошибку такой файл не загружается - инициализатор , и bundle работает так, как если бы он был запущен из корневого каталога. .

Я попробовал те же команды с консоли Rails2.3.10, и они работали как положено. Rails3 что-то здесь не так делает?

Я использую Ruby 1.9.2 через RVM.
$ ruby ​​-v
ruby 1.9.2p136 (2010-12-25, редакция 30365) [i686-linux]

1 Ответ

1 голос
/ 15 января 2011
bold_rewards ∴ ruby -v
ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-darwin10.5.0]
bold_rewards ∴ rake -T | wc -l
      46
bold_rewards ∴ cd vendor/plugins/pretty_flash
pretty_flash ∴ rake -T | wc -l
       6
pretty_flash ∴ cd ../../..
bold_rewards ∴ rails c
Loading development environment (Rails 3.0.3)
>> Dir.pwd
=> "/Users/george/work/bold_rewards"
>> `rake -T | wc -l`.chomp.strip
=> "46"
>> Dir.chdir 'vendor/plugins/pretty_flash'
=> 0
>> Dir.pwd
=> "/Users/george/work/bold_rewards/vendor/plugins/pretty_flash"
>> `rake -T | wc -l`.chomp.strip
=> "6"
>> Dir.chdir Rails.root
=> 0
>> `rake -T | wc -l`.chomp.strip
=> "46"
>> 

К сожалению, я думаю, что Bundler гораздо более крепкий орешек:

increment ∴ cat Gemfile                                                                                                                                                           
source 'http://rubygems.org'

gem 'rails', '3.0.3'

# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'

gem 'sqlite3-ruby', :require => 'sqlite3'

# Use unicorn as the web server
# gem 'unicorn'

# Deploy with Capistrano
# gem 'capistrano'

# To use debugger (ruby-debug for Ruby 1.8.7+, ruby-debug19 for Ruby 1.9.2+)
# gem 'ruby-debug'
# gem 'ruby-debug19'

# Bundle the extra gems:
# gem 'bj'
# gem 'nokogiri'
# gem 'sqlite3-ruby', :require => 'sqlite3'
# gem 'aws-s3', :require => 'aws/s3'

# Bundle gems for the local environment. Make sure to
# put test-only gems in this group so their generators
# and rake tasks are available in development mode:
# group :development, :test do
#   gem 'webrat'
# end
increment ∴ cat vendor/subproject_x/Gemfile                                                                                                                                       
source 'http://rubygems.org'

gem 'net-ssh'

increment ∴ rails c                                                                                                                                                               
Loading development environment (Rails 3.0.3)
>> Dir.pwd
=> "/Users/george/tmp/increment"
>> `BUNDLE_GEMFILE="vendor/subproject_x/Gemfile" bundle install`
=> "\e[31mCould not find net-ssh-2.0.24 in any of the sources\e[0m\n"
>> Dir.chdir 'vendor/subproject_x'
=> 0
>> Dir.entries '.'
=> [".", "..", "Gemfile", "Rakefile"]
>> Dir.pwd
=> "/Users/george/tmp/increment/vendor/subproject_x"
>> `BUNDLE_GEMFILE="Gemfile" bundle install`
=> "\e[31mCould not find net-ssh-2.0.24 in any of the sources\e[0m\n"
>> Dir.chdir Rails.root
=> 0
>> Dir.pwd
=> "/Users/george/tmp/increment"
>> `BUNDLE_GEMFILE="vendor/subproject_x/Gemfile" bundle install`
=> "\e[31mCould not find net-ssh-2.0.24 in any of the sources\e[0m\n"
>> quit
increment ∴ cd vendor/subproject_x                                                                                                                                                
subproject_x ∴ bundle install                                                                                                                                                     
Fetching source index for http://rubygems.org/
Installing net-ssh (2.0.24) 
Using bundler (1.0.7) 
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.
subproject_x ∴
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...