2017-11-20 40 views
1

이 루비 보석을 가지고 가십시오 :Ruby 프로젝트의 "lib"디렉토리의 일반적인 목적은 무엇입니까?

보석의 구조는 루트 디렉토리에 "lib", "spec"및 "vendor"디렉토리와 일부 gem 파일을 포함합니다.

루비 보석에서 "lib"라는 디렉토리의 목적은 정확히 무엇입니까?

"lib"에는 보석에서 제공하는 모든 루비 코드가 들어있는 것 같습니다. "lib"는 "라이브러리를 구성하는 소스 코드 파일"을 의미합니까? (아마도 "lib"가 "라이브러리"를 의미한다면, 아마도 젬 파일은 "라이브러리의 일부"이기 때문입니다.) 아니면 다른 것을 의미합니까? 그리고 어디에서나 정의 된 루비 보석의 디렉토리 이름 의미는 무엇입니까? 아니면 완전히 임의로 명명 된 디렉토리입니까?

필자가 직접 작성한 "lib"이름에 특별한 의미가 있는지 확인하려고합니다. 나는 그렇지 않다면 다른 이름을 선택하기를 원하기 때문에 나는 알고 싶다.

+0

보석은 전체 라이브러리이지만, 디렉토리 스펙에서 알 수 있듯이 라이브러리의 핵심 부분이 아니지만 보석에 포함 된 추가 항목이 있습니다. 'lib'라는 이름은 라이브러리의 핵심 부분 또는 "라이브러리의 라이브러리"를 의미하는 것으로 간주 될 수 있습니다. "New York, NY"또는 "top of the top"과 같은 단어에는 아무런 문제가 없습니다. – sawa

+0

@sawa 좋은 지적. 이 "디렉토리 스펙"에 대한 직접적인 참조를 증거로 제공 할 수 있습니까? – Jackson

+0

사양은 테스트 용입니다. 라이브러리의 일반적인 사용 중에는 사용되지 않습니다. – sawa

답변

0

기본 "require path"즉, 보석이 활성화되었을 때 기본적으로 $ LOAD_PATH에 추가되는 디렉토리는 "lib"입니다. 이 보석이 활성화 될 때 $LOAD_PATH에 추가 보석에

REQUIRE_PATHS=(val)

경로 다음 rubygems specification를 참조하십시오. 확장자가있는 경우 경로에 "ext"을 추가 할 필요가없는 경우 확장 빌드 프로세스에서 확장 파일을 "lib"로 복사합니다.

기본값은 "lib"

사용법 :

# If all library files are in the root directory... 
spec.require_paths = ['.'] 

기본이 또한 결정 추가 구성을 방지하고 탐색하는 데 도움을 명명 좋은 기본값 인 의미로 이름이 선택 사실 보석에 새 이주자.