2011-09-06 26 views
10

Khi tôi chạy rake db:create:all, tôi nhận được thông báo sau:“mức ngăn xếp quá sâu” chạy rake db: tạo: tất cả

/Users/junior/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/version.rb:4: warning: already initialized constant MAJOR 
/Users/junior/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/version.rb:5: warning: already initialized constant MINOR 
/Users/junior/.rvm/gems/[email protected]lobal/gems/rake-0.9.2/lib/rake/version.rb:6: warning: already initialized constant BUILD 
/Users/junior/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/version.rb:3: warning: already initialized constant NUMBERS 
/Users/junior/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/version.rb:9: warning: already initialized constant VERSION 
/Users/junior/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake.rb:26: warning: already initialized constant RAKEVERSION 
/Users/junior/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/early_time.rb:17: warning: already initialized constant EARLY 
/Users/junior/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/alt_system.rb:32: warning: already initialized constant WINDOWS 
/Users/junior/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/application.rb:28: warning: already initialized constant DEFAULT_RAKEFILES 
WARNING: Possible conflict with Rake extension: String#ext already exists 
WARNING: Possible conflict with Rake extension: String#pathmap already exists 
/Users/junior/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/task_arguments.rb:73: warning: already initialized constant EMPTY_TASK_ARGS 
/Users/junior/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/invocation_chain.rb:49: warning: already initialized constant EMPTY 
/Users/junior/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/file_utils.rb:10: warning: already initialized constant RUBY 
/Users/junior/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/file_utils.rb:84: warning: already initialized constant LN_SUPPORTED 
/Users/junior/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/dsl_definition.rb:143: warning: already initialized constant Commands 
/Users/junior/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/file_list.rb:44: warning: already initialized constant ARRAY_METHODS 
/Users/junior/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/file_list.rb:47: warning: already initialized constant MUST_DEFINE 
/Users/junior/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/file_list.rb:51: warning: already initialized constant MUST_NOT_DEFINE 
/Users/junior/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/file_list.rb:55: warning: already initialized constant SPECIAL_RETURN 
/Users/junior/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/file_list.rb:61: warning: already initialized constant DELEGATING_METHODS 
/Users/junior/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/file_list.rb:364: warning: already initialized constant DEFAULT_IGNORE_PATTERNS 
/Users/junior/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake/file_list.rb:370: warning: already initialized constant DEFAULT_IGNORE_PROCS 
/Users/junior/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake.rb:64: warning: already initialized constant FileList 
/Users/junior/.rvm/gems/[email protected]/gems/rake-0.9.2/lib/rake.rb:65: warning: already initialized constant RakeFileUtils 
rake aborted! 
stack level too deep 

Và cơ sở dữ liệu không được tạo ra. Ai đó có thể giúp tôi?

Trả lời

24

Tôi đã tìm thấy gợi ý trên internet cách tránh lỗi. Xem liên kết đến "Rail 3.1 and Rake aborted". Không có lý do gì, nhưng để sử dụng bundle exec rake thay vì cuộc gọi cào thuần túy đã thực hiện thủ thuật ở đó. Có vẻ như các cuộc gọi cho rake được gọi là đệ quy tự, mà không cần nhận thấy rằng các tập tin được tải.

Vì vậy, hãy thử và cho chúng tôi biết điều đó có hiệu quả với bạn không.

+1

Có, nguồn thông thường của các vấn đề cào được quên để gọi nó bằng 'bó exec'. Đối với những người thường quên về mọi thứ, gọi một 'bó exec bash' sẽ giúp đỡ. – Arsen7

+1

không may không hoạt động – user930538

+0

Điều này đã giúp. Chỉ có điều này trong rake 12.3.0 sau khi nâng cấp từ 10.4.2 nhưng việc thêm vào trước khi thực thi bó không còn ném cảnh báo so với rake octoquad

19

Nếu, như tôi, bạn quá lười biếng để sử dụng mỗi khi bundle:

Bạn muốn xem một thủ thuật kỳ diệu? Hãy thử chạy gem uninstall rake. Xác nhận khi được hỏi về phụ thuộc bị hỏng. Counter-trực quan, tôi biết.

Bây giờ hãy chạy lệnh rake của bạn mà không cần bundle exec. Ma thuật!

Tôi không biết nó thực sự hiệu quả như thế nào, nhưng tôi nghĩ nó có liên quan đến đá quý cục bộ/toàn cầu của bạn; rke toàn cầu của bạn nên là một cái đang được sử dụng ngay bây giờ.

Không, điều này có thể không thực hành tốt, nhưng như tôi đã nói, đó là dành cho người lười biếng.

+1

Điều này làm việc cho tôi, tôi tự hỏi liệu nó có liên quan gì đến việc có phiên bản cũ hơn hay không Đã cài đặt Rails. – DennyFerra

+0

... Chỉ cần thêm rằng tôi đã nhận được cùng một vấn đề bằng cách sử dụng Rails 3.1.1 trên một máy tính xách tay, nơi tôi đã có một phiên bản cũ của đường ray quá. @jonallard mẹo giải quyết được vấn đề. – microspino

+0

cũng làm việc cho tôi. Cảm ơn @jonallard – jn29098

2

Tôi đã tìm thấy một cách khác để không phải chạy bundle exec mỗi lần. Đối với bản thân mình, làm việc w/Sinatra (không phải Rails), thêm gem 'rake' vào Gemfile của tôi làm việc như một sự quyến rũ. :)

0

Lệnh gem uninstall rake cho tôi biết rằng tôi đã cài đặt nhiều đá quý, sau khi xóa 2 trong số 3, tôi không cần sử dụng bundle exec nữa!

Các vấn đề liên quan