2013-10-14 2 views
0

Ruby 설치 프로그램을 통해 1.9.3이 설치된 Windows에서 루비를 실행 중입니다. chef ruby ​​gem을 설치했지만 명령 줄에서 chef-client 또는 knife을 사용할 수 없습니다.Ruby on Windows : 초기화되지 않은 상수 Process :: Functions :: FFI (NameError)

다음은 명령 줄에서 요약 된 출력입니다. 무슨 일있어?

C:\>chef-client 
C:/ruby193/lib/ruby/gems/1.9.1/gems/windows-api-0.4.0/lib/windows/api.rb:4: Use RbConfig instead of obsolete and deprecated Config. 
C:/ruby193/lib/ruby/gems/1.9.1/gems/mixlib-shellout-1.2.0/lib/mixlib/shellout/windows/core_ext.rb:31:in `<module:Functions>': 
     uninitialized constant Process::Functions::FFI (NameError) 
     from C:/ruby193/lib/ruby/gems/1.9.1/gems/mixlib-shellout-1.2.0/lib/mixlib/shellout/windows/core_ext.rb:30:in `<top (required)>' 
     from C:/ruby193/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:73:in `require' 
     from C:/ruby193/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:73:in `require' 
     from C:/ruby193/lib/ruby/gems/1.9.1/gems/mixlib-shellout-1.2.0/lib/mixlib/shellout/windows.rb:26:in `<top (required)>' 
     from C:/ruby193/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:73:in `require' 
     from C:/ruby193/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:73:in `require' 
     from C:/ruby193/lib/ruby/gems/1.9.1/gems/mixlib-shellout-1.2.0/lib/mixlib/shellout.rb:33:in `<class:ShellOut>' 
     from C:/ruby193/lib/ruby/gems/1.9.1/gems/mixlib-shellout-1.2.0/lib/mixlib/shellout.rb:26:in `<module:Mixlib>' 
     from C:/ruby193/lib/ruby/gems/1.9.1/gems/mixlib-shellout-1.2.0/lib/mixlib/shellout.rb:24:in `<top (required)>' 

p.s. 버전 번호 :

C:\>ruby -v 
ruby 1.9.3p374 (2013-01-15) [i386-mingw32] 

C:\>gem -v 
2.1.8 

답변

1

요리사 11.6.2 (최신 릴리스)를 사용하는 경우 11.6.0으로 다운 그레이드 할 수 있습니다. 11.6.2에서는 mixlib-shellout을 사용합니다. 그러나 불행하게도 1.1만이 지요. FFI 의존성이 정말 낮습니다. 11.6.0으로 다운 그레이드하는 것은 잠시 동안 고쳐야하며 master 브랜치는 이제 mixlib-shellout 1.2를 사용하고 있으므로 곧 수정 될 것입니다 ....

관련 문제