2014-11-24 4 views
-2

'require'가 이러한 파일 오류를로드 할 수 없습니다. 루비 : 이러한 파일을로드 할 수 없습니다 - LoadError

나는 이전에이 있고 난

을 추가
__LIB_DIR__ = File.expand_path(File.join(File.dirname(__FILE__), "..")) 
unless $LOAD_PATH.include?(__LIB_DIR__) 
    $LOAD_PATH.unshift(__LIB_DIR__) 
end 
나는 이것이 무엇을하는지 알고 싶습니다

? 내 프로젝트의 주요 '요구 사항'파일에 추가했습니다. 지금 나는 내가 LoadError를 얻을, 테스트 케이스, 나는 그것을 실행하려고

$:.unshift File.join(File.dirname(__FILE__), ".") 

물품. 나는 또한 require_relative 행운을 시도했다.

구조 :

Main 
    Git 
    lib 
    files.rb 
    base.rb 
    test 
    test1.rb 

나는 내가 테스트를 실행하려고하면 내가 모든 것을 할 base.rb에 을 '필요'와 위의 첫 번째 코드 블록을 가지고있다. 나는 LoadError를 얻는다.

, 제 1 및 제 2 코드 블록은 또한이 무엇을 대신

__LIB_DIR__ = File.expand_path(File.join(File.dirname(__FILE__), "..")) 

사용

__LIB_DIR__ = File.expand_path('..', File.dirname(__FILE__)) 

의 나에게 해결책 명확성을 위해

+0

가 있다고 최고 지저분한 해결책. 어떤'require_relative' 라인을 사용 했습니까? 그게 효과가있다. '$ :'와'$ LOAD_PATH'는 같은 것입니다. – tadman

+1

이 문장에 "please"를 추가 할 수 있습니까? "첫 번째 및 두 번째 코드 블록에서도 해결 방법을 설명하십시오." 그것은 수요처럼 들린다. –

+0

달이 원하는 것처럼 들리는군요. 그 질문은 정확히 무엇입니까? – matt

답변

0

을주고 설명 '제발' 해야 할 것?

 
unless $LOAD_PATH.include?(__LIB_DIR__) 
    $LOAD_PATH.unshift(__LIB_DIR__) 
end 

이를 고려

ary = %w[a b] 
ary # => ["a", "b"] 
ary.unshift('c') 
ary # => ["c", "a", "b"] 

나는 내가 LoadError를 얻을, 그것을 실행 해보십시오. 나는 또한 운이 좋았던 require_relative를 시도했다.

그 이유는 여러 가지가있을 수 있지만, 불행히도 코드가 발생하는 곳에서는 코드를 공유하지 않았습니다. requirerequire_relative은 모두 코드를로드하는 데 사용되지만 전달 된 매개 변수에는 다른 구문이 있습니다. 로드하려는 대상과 호출 스크립트와 관련된 파일 계층 구조의 위치를 ​​알아야합니다.

아마도 이들 중 하나, 또는 관련 질문, 도움이 될 :

+0

감사합니다! 그게 도움이 :) – jarvis11

관련 문제