내 자신의 신선한 Ruby (MRI 1.9.3)을 컴파일한다고 가정 할 때, 기본 LOAD_PATH는 무엇이며 어떻게 계산됩니까?기본 Ruby LOAD_PATH는 어떻게 결정됩니까?
10
A
답변
13
은 초기로드 경로는 다음과 같습니다 grep
와
$ ruby -e 'puts $LOAD_PATH'
/Users/matt/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1
/Users/matt/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/x86_64-darwin10.8.0
/Users/matt/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby
/Users/matt/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/vendor_ruby/1.9.1
/Users/matt/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/vendor_ruby/1.9.1/x86_64-darwin10.8.0
/Users/matt/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/vendor_ruby
/Users/matt/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1
/Users/matt/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/x86_64-darwin10.8.0
무장, 루비 소스에 대한 조사 definition of ruby_initial_load_paths[]
in version.c
리드 (이것은 루비 1.9.3에있다). 적용되는 첫 번째 항목 (NO_INITIAL_LOAD_PATH
또는 RUBY_SEARCH_PATH
이 설정되지 않았습니다)은 RUBY_SITE_LIB2
입니다. 그 정의 we see 위의 정의에서 상대 :
#define RUBY_SITE_LIB2 RUBY_SITE_LIB "/"RUBY_LIB_VERSION
및 in turn :
#define RUBY_SITE_LIB RUBY_LIB_PREFIX"/site_ruby"
을 정의의 체인에 따라,이 위의 내 하중 경로의 첫 번째 항목에 해당하는 것이 분명해진다. 마찬가지로이 변수에 들어간 다른 상수는 다른로드 경로 항목과 일치합니다.
ruby_initial_load_paths[]
변수는 실제로드 경로가 프로세스에 대해 설정되는 ruby_init_loadpath_safe()
in ruby.c
에 사용됩니다.
그래서 첫 번째로드 경로는 빌드가 구성된 방식에 따라 #define
과 함께 컴파일시 설정됩니다.
0
귀하의 컴파일은 일반적으로
/usr/lib/ruby/X.Y.Z
X.Y.Z이 루비 C API를 버전의 버전 번호를 나타냅니다 * nix에서 스크립트 기반 시스템에 lib 디렉토리 을 만들 수 있습니다. 내 컴퓨터에
관련 문제
- 1. 런타임시 객체의 기본 유형은 어떻게 결정됩니까?
- 2. 프로세스 크기는 어떻게 결정됩니까?
- 3. NSLocaleCountryCode는 어떻게 결정됩니까?
- 4. 테이블 인덱스는 어떻게 결정됩니까?
- 5. libstdC++ 종속성은 어떻게 결정됩니까?
- 6. 시작 블록의 값은 어떻게 결정됩니까?
- 7. ResourceDictionary 키의 순서는 어떻게 결정됩니까?
- 8. 원격 컴퓨터에서 경로가 어떻게 결정됩니까?
- 9. .grails 디렉토리의 위치는 어떻게 결정됩니까?
- 10. UIPinchGestureRecognizer 스케일 값은 어떻게 결정됩니까?
- 11. 석영 - 현재 시간이 어떻게 결정됩니까?
- 12. Android 배터리의 상태는 어떻게 결정됩니까?
- 13. iTunes Connect 순위는 어떻게 결정됩니까?
- 14. IIS 6.0 설정에 따라 경로가 어떻게 결정됩니까?
- 15. C++, 어떻게 암시 적 변환/생성자가 결정됩니까?
- 16. XMPP 메시지가 배달 된시기는 어떻게 결정됩니까?
- 17. 내 실행 파일의 크기는 어떻게 결정됩니까?
- 18. RODBC sqlSave 열 유형 : 어떻게 결정됩니까?
- 19. Linq2Sql을 사용하는 메소드에서 반환 유형이 어떻게 결정됩니까?
- 20. C++에서 메모리 양이 어떻게 결정됩니까?
- 21. 기본 Ruby 인수 변경
- 22. Mac OS X에서 파이썬 모듈 검색 경로가 어떻게 결정됩니까?
- 23. 모바일 광고 - 무효 클릭 또는 부정 클릭은 어떻게 결정됩니까?
- 24. 봄 MVC 업로드 파일 - 콘텐츠 유형은 어떻게 결정됩니까?
- 25. Entity Framework 4.1 코드 우선 : Discriminator는 어떻게 결정됩니까?
- 26. 멀티 샘플링시 OpenGL 텍스처에서 깊이 값이 어떻게 결정됩니까?
- 27. 비트 맵 힙 스캔 및 인덱스 스캔이 어떻게 결정됩니까?
- 28. 자동화 호출 내에서 스크립트 소스 위치가 어떻게 결정됩니까?
- 29. CSS 속성에 브라우저 별 접두사가 필요한지 여부는 어떻게 결정됩니까?
- 30. Internet Explorer 8에 '호환성보기'단추가 나타나는지 여부는 어떻게 결정됩니까?
아니요, 버전 번호는 Ruby C API 버전을 나타냅니다. –