2014-04-02 13 views
5

Tôi không thể chạy Spring. Đây là nhật ký lỗi.Mùa xuân không hoạt động. [Uninitialized constant Spring :: SID :: DL]

myid-no-MacBook-Pro:myid$ spring 
/Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/spring-0.0.10/lib/spring/sid.rb:17:in `fiddle_func': uninitialized constant Spring::SID::DL (NameError) 
    from /Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/spring-0.0.10/lib/spring/sid.rb:30:in `sid' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/spring-0.0.10/lib/spring/sid.rb:39:in `pgid' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/spring-0.0.10/lib/spring/server.rb:76:in `set_pgid' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/spring-0.0.10/lib/spring/server.rb:33:in `boot' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/spring-0.0.10/lib/spring/server.rb:19:in `boot' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/spring-0.0.10/lib/spring/client/run.rb:33:in `block in boot_server' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/spring-0.0.10/lib/spring/client/run.rb:31:in `fork' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/spring-0.0.10/lib/spring/client/run.rb:31:in `boot_server' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/spring-0.0.10/lib/spring/client/run.rb:16:in `call' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/spring-0.0.10/lib/spring/client/command.rb:7:in `call' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/spring-0.0.10/lib/spring/client.rb:23:in `run' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/spring-0.0.10/bin/spring:6:in `<top (required)>' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/bin/spring:19:in `load' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/bin/spring:19:in `<main>' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/bin/ruby_executable_hooks:15:in `eval' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/bin/ruby_executable_hooks:15:in `<main>' 
^C/Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/spring-0.0.10/lib/spring/client/run.rb:35:in `sleep': Interrupt 
    from /Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/spring-0.0.10/lib/spring/client/run.rb:35:in `boot_server' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/spring-0.0.10/lib/spring/client/run.rb:16:in `call' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/spring-0.0.10/lib/spring/client/command.rb:7:in `call' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/spring-0.0.10/lib/spring/client.rb:23:in `run' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/spring-0.0.10/bin/spring:6:in `<top (required)>' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/bin/spring:19:in `load' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/bin/spring:19:in `<main>' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/bin/ruby_executable_hooks:15:in `eval' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/bin/ruby_executable_hooks:15:in `<main>' 

tôi sử dụng:

  • của Ruby 1.9.3-p484
  • Rails3.2.17
  • Xuân 0.0.10
  • OSX 10.9
  • rbenv

Tôi đã thử một số thử nghiệm khác. Tôi nghĩ rằng vấn đề này là 1.9.3 cụ thể.

myid-no-MacBook-Pro:~ myid$ ruby -v 
ruby 1.9.2p326 (2013-12-23 revision 44353) [x86_64-darwin13.1.0] 
myid-no-MacBook-Pro:~ myid$ irb 
irb(main):001:0> require 'fiddle' 
=> true 
irb(main):002:0> DL 
=> DL 
irb(main):003:0> require 'dl' 
=> false 
irb(main):004:0> DL 
=> DL 
irb(main):005:0> DL.fiddle? 
=> true 
irb(main):006:0> exit 




myid-no-MacBook-Pro:~ myid$ rbenv global 1.9.3-p484 
myid-no-MacBook-Pro:~ myid$ irb 
irb(main):001:0> require 'fiddle' 
LoadError: cannot load such file -- dl 
    from /Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/1.9.1/fiddle.rb:4:in `<top (required)>' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
    from (irb):1 
    from /Users/myid/.rbenv/versions/1.9.3-p484/bin/irb:12:in `<main>' 
irb(main):002:0> DL 
NameError: uninitialized constant DL 
    from (irb):2 
    from /Users/myid/.rbenv/versions/1.9.3-p484/bin/irb:12:in `<main>' 
irb(main):003:0> require 'dl' 
LoadError: cannot load such file -- dl 
    from /Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
    from (irb):3 
    from /Users/myid/.rbenv/versions/1.9.3-p484/bin/irb:12:in `<main>' 
irb(main):004:0> exit 




myid-no-MacBook-Pro:~ myid$ rbenv global 2.1.0 
myid-no-MacBook-Pro:~ myid$ irb 
irb(main):001:0> require 'fiddle' 
=> true 
irb(main):002:0> DL 
NameError: uninitialized constant DL 
    from (irb):2 
    from /Users/myid/.rbenv/versions/2.1.0/bin/irb:11:in `<main>' 
irb(main):003:0> require 'dl' 
DL is deprecated, please use Fiddle 
=> true 
irb(main):004:0> DL 
=> DL 
irb(main):005:0> DL.fiddle? 
=> true 
irb(main):006:0> 
+0

Đó là nhận được cho nhiều người dùng khác https://github.com/rails/spring/issues/274 bạn có thể thử với ruby ​​1.9.2 –

+0

Tôi sẽ thử đề xuất của bạn nhưng tôi cần ruby ​​1.9.3-p484 để làm việc được sử dụng trong môi trường sản xuất của tôi. – tkymtk

Trả lời

5

Tôi đã tìm ra giải pháp.

Trong trường hợp của tôi, sau khi thay đổi trình biên dịch c từ clang thành apple-gcc42 hoạt động hoàn hảo. Đây là các lệnh tôi đã sử dụng.

$ rbenv uninstall 1.9.3-p484 
$ which gcc-4.2 
/usr/local/bin/gcc-4.2 
$ CC=/usr/local/bin/gcc-4.2 
$ rbenv install 1.9.3-p484 
$ rbenv rehash 

liên kết liên quan: https://github.com/rails/spring/issues/274

2

vấn đề này dường như được giới hạn trong một phạm vi của Ruby 1.9.3 mức vá, biên soạn trên máy Mac, sử dụng Apple cung cấp trình biên dịch.

  • của Ruby 1.9.3-p125, biên soạn với LLVM của Apple, Spring 1.1.3, công trình
  • của Ruby 1.9.3-p547 (ổn định mới nhất tại thời điểm viết bài), LLVM, Spring 1.1.3 - thất bại .

Tôi có một vài bản vá lỗi sau này của Ruby (2.0, 2.1.2) mới nhất ổn định, LLVM. Họ làm việc.

Vì vậy, tại một số điểm trong chuỗi 1.9.3, sau p125, Spring ngừng hoạt động khi sử dụng LLVM. Tại một số điểm, ít nhất là 2.0.0-p481, các phiên bản Ruby và các phiên bản nhỏ hơn, và các phiên bản nhỏ, bắt đầu hoạt động trở lại, với LLVM. IOW, điều này giống như một vấn đề hồi quy Ruby 1.9.3, có thể là một vấn đề hồi quy Ruby 2.0.0. Tôi đã ghi lại những gì tôi đã tìm thấy trên Github như là một vấn đề mùa xuân.

Ngay bây giờ, nếu bạn cần 1.9.3 và bạn cần Spring trên máy Mac ... hãy xem xét Zeus. ;)

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