2014-04-02 16 views
5

Nie mogę uruchomić Spring. Oto dziennik błędów.Wiosna nie działa. [niezainicjowana stała Wiosna :: 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>' 

używać:

  • Ruby 1.9.3-p484
  • Rails3.2.17
  • Wiosna 0.0.10
  • OS X 10,9
  • rbenv

Próbowałem innych testów. Myślę, że ten problem jest specyficzny dla wersji 1.9.3.

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

To jest dla wielu innych użytkowników https://github.com/rails/spring/issues/274 Czy możesz spróbować z Ruby 1.9.2 –

+0

Spróbuję twojej sugestii, ale potrzebuję ruby ​​1.9.3-p484 do pracy, która jest używana w moim środowisku produkcyjnym. – tkymtk

Odpowiedz

5

Znalazłem rozwiązanie.

W moim przypadku po zmianie kompilatora c z clang na apple-gcc42 działało idealnie. Oto polecenia, których użyłem.

$ 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 

powiązany link: https://github.com/rails/spring/issues/274

2

Problem ten wydaje się być ograniczone do zakresu Ruby 1.9.3 poziomy poprawki, skompilowane na komputerze Mac, używając Apple dostarczany kompilatora.

  • Ruby 1.9.3-P125, skompilowany z Apple LLVM, Spring 1.1.3, działa
  • Ruby 1.9.3-P547 (najnowszej stabilnej w czasie pisania) LLVM, Wiosna 1.1.3 - nie .

Mam kilka późniejszych łat Ruby (2.0, 2.1.2) na najnowszej stabilnej, LLVM. Oni pracują.

Tak więc, w pewnym momencie serii 1.9.3, po p125, Spring przestaje działać, gdy używana jest LLVM. W pewnym momencie co najmniej wersje 2.0.0-p481, późniejsze wersje Ruby i mniejsze wersje oraz małe wersje, zaczną znowu działać z LLVM. IOW, wygląda na to, że problem z regresem w wersji 1.9.3, prawdopodobnie z regresem w języku Ruby 2.0.0. Udokumentowałem to, co znalazłem na Githubie jako wiosenny numer.

W tej chwili, jeśli potrzebujesz wersji 1.9.3 i potrzebujesz Spring na komputerze Mac ... rozważ Zeus. ;)

Powiązane problemy