2011-09-16 4 views
3

나는 '필요'는 couch_potato 보석을 때, 나는 다음과 같은 오류 얻을 : 아직 그렇게했다 나는 특히 루비 경험이 아니에요couch_potato : 그런 파일로드 없습니다 -/JSON 추가/레일

LoadError: no such file to load -- json/add/rails 
    from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:59:in `gem_original_require' 
    from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:59:in `require' 
    from /Library/Ruby/Gems/1.8/gems/couch_potato-0.5.7/lib/couch_potato.rb:4 
    from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:59:in `gem_original_require' 
    from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:59:in `require' 
    from (irb):1 

을 샷건 유형의 접근 방식으로 모든 보석을 제거한 다음 couch_potato로 다시 설치했습니다. json gem은 최신 버전이 자동으로 설치되도록 요구 사항입니다. 그러나이 문제는 계속되었다.

나는 레일의이 부분을 생각했다. (왜냐하면 '레일스'는 에러에 빠져있다. .. 긴 샷처럼 보이지만 나는 루비에 대해 아주 익숙하고 아직 보석이 어떻게 작동하는지 아직 모르겠다. :))

Installing RDoc documentation for rack-ssl-1.3.2... 
Installing RDoc documentation for rdoc-3.9.4... 
Installing RDoc documentation for railties-3.1.0... 
Installing RDoc documentation for bundler-1.0.18... 
Installing RDoc documentation for rails-3.1.0... 
file 'lib' not found 

어쨌든 내가 누락 된 파일을 찾고 갔다 :하지만 다음과 같은 몇 줄 (이 매우 긴 목록 후 마지막 몇 줄이) 갑자기 후에 종료 설치합니다. 보석 폴더 (/Library/Ruby/Gems/1.8/gems/json-1.1.9)에는 'lib', 'json/add'가 있습니다.이 부분은 작은 승리이지만 거기에는 'rails'파일이 없습니다.

이 시점에서 내 랩톱을 확인했습니다 ... 'json'의 이전 버전이 있지만 'json/add/rails'파일은 오래된 보석에 존재합니다.

이 시점에서 가장 좋은 옵션은 무엇입니까? 내가 사용해야하는 couch_potato의 다른 버전이 있습니까? couch_potato에서 이전 json gem 버전을 사용할 수 있습니까?

답변

3

JSON gem을 설치해야합니다.

$ gem install json 

사실, json/add/rails 파일은 JSON 라이브러리

# This file used to implementations of rails custom objects for 
# serialisation/deserialisation and is obsoleted now. 

unless defined?(::JSON::JSON_LOADED) and ::JSON::JSON_LOADED 
    require 'json' 
end 

$DEBUG and warn "required json/add/rails which is obsolete now!" 

에 의해 사용되지 않습니다하지만 couch_potato이 업데이트되지 않은 것 같습니다과 장소에 여전히 필요합니다.

+0

json gem이 이미 설치되어 있습니다 ... 그래, 그게 더 이상 사용되지 않는 것 같습니다. – Nippysaurus

+0

방금 ​​JSON 1.6.0을 설치했고 레일즈 파일이 더 이상 존재하지 않습니다. 파일이 여전히 존재하는 곳에서 프로젝트가 강제로 1.6.0 미만의 버전을 요구하도록 할 수 있습니다 (더 이상 사용되지 않는 경우에도 마찬가지 임). 번들러를 사용하면 매우 간단합니다. 그렇지 않으면'couch_potato' 저장소를 포크하고 문제를 일시적으로 해결하여 문제를 해결할 때까지 기다릴 수 있습니다. 'couch_potato' 이슈 트래커에서 티켓을 열고 싶을 수도 있습니다. –

+1

패치를 제출했습니다. https://github.com/langalex/couch_potato/pull/43 –