Computer >> 컴퓨터 >  >> 프로그래밍 >> Ruby

Gem 설치 시 rdoc·ri 문서 생성을 전역적으로 비활성화하는 방법

Gem 설치가 느린 진짜 이유

Gem 설치가 유독 느리게 느껴진 적이 있나요? 가장 큰 원인 중 하나는 바로 문서화 작업입니다. gem을 설치할 때마다 컴퓨터는 해당 gem의 소스 코드를 스캔하고 문서를 생성해야 하기 때문입니다.

로컬 문서는 언제 유용할까?

오프라인 환경에서 자주 gem 문서를 확인해야 한다면 이 기능이 유용할 수 있습니다. gem server 명령어를 실행한 뒤 브라우저에서 https://localhost:8808 에 접속하면 문서를 열람할 수 있습니다. 터미널에서 ri 명령어로 문서를 검색하는 것 역시 편리합니다.

하지만 요즘처럼 인터넷 연결이 안정적인 환경이라면 로컬 문서를 사용할 일이 드뭅니다. 그렇다면 문서 생성에 소요되는 시간은 그저 낭비일 뿐입니다.

Bundler 사용자라면 설정이 필요 없습니다

Bundler로 gem을 설치한다면 아무것도 할 필요가 없습니다. Bundler는 기본적으로 rdoc/ri 생성을 건너뛰기 때문입니다. 반면 gem 명령어를 직접 사용한다면 약간의 설정이 필요합니다.

설치 시 플래그로 비활성화하기

gem install 실행 시 특정 플래그를 전달하면 rdoc/ri 생성을 비활성화할 수 있습니다.

gem install honeybadger --no-rdoc --no-ri  # 구버전 방식 (더 이상 권장되지 않음)
gem install honeybadger --no-document      # 최신 방식

~/.gemrc로 전역 기본값 설정하기

매번 플래그를 입력하는 것이 번거롭다면 RubyGems에게 이 옵션을 기본값으로 적용하도록 지시할 수 있습니다. 홈 디렉터리의 ~/.gemrc 파일에 다음 한 줄만 추가하면 됩니다.

gem: --no-document

이렇게 설정해 두면 이후 모든 gem 설치에서 문서 생성이 자동으로 생략됩니다.

필요할 때 문서를 다시 생성하는 방법

그렇다면 캠핑 여행 등 오프라인 상황에 대비해 로컬 문서가 필요할 때는 어떻게 할까요? 걱정하지 않아도 됩니다. 언제든 직접 문서를 생성할 수 있습니다.

gem rdoc --all --overwrite # 설치된 모든 gem의 문서 재생성
gem rdoc honeybadger       # 특정 gem의 문서만 생성

단, --all 옵션으로 모든 문서를 재생성하면 시간이 꽤 오래 걸릴 수 있으니 주의하세요.