2011-01-14 9 views
0

私は、その下に他のプロジェクトを持っているレールプロジェクトを持っています。サブプロジェクトにはレーキとバンドラファイルがあります。Rails3と `cd somehwere && do something`

期待とサブプロジェクトの熊手を使用して、私はルビー-e `CDサブプロジェクト& & rake`、またはルビー-e` CDサブプロジェクト& & bundle`、仕事コマンドを実行すると/バンドラーファイル。しかし、Rails3コンソール(レール3.0.3)から同じことを実行すると、rakeはエラーにそのようなファイル(初期化子)をロードし、バンドルはルートディレクトリから起動されたかのように動作します。

Rails2.3.10コンソールから同じコマンドを試してみましたが、期待通りに動作しました。 Rails3はここで何か問題を起こしていますか?

私はRVM経由でRuby 1.9.2を使用しています。
$ルビー-v
ルビー1.9.2p136(2010年12月25日リビジョン30365)[i686の-Linuxは]

+0

Railsサブプロジェクトとは何ですか? – Heikki

+0

専用のレーキファイルとバンドラファイルを含むサブディレクトリ –

+0

Railsコンソール内で 'Dir.pwd'とは何を印刷しますか? –

答えて

1
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" 
>> 

残念ながら、私はバンドラーが割れるくらい厳しいナットだと思う:

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 ∴ 
+0

レーキでは機能しましたが、バンドルでは機能しません –

+0

スタックトレースまたはエラーメッセージを提供できますか? –

+0

Bundlerに対処するために私の答えを更新しました。私はBundlerの情報源を掘り下げながら、調達の問題を理解しようとしたが、運はなかった。 –