Menu

문서정보

목차

ruby gem

Ruby gem은 루비 언어에서 사용하는 패키지 매니저로 루비 프로그램과 라이브러리를 배포하는 표준 형식과 배포 방법을 제공한다. 루비 프로그래머는 gem을 이용해서 간단하게 원하는 프로그램을 설치할 수 있으며, 자신이 개발한 프로그램을 간단하게 배포할 수 있다.

gem 기본 사용

사전 준비

gem을 원할히 설치하기 위해서는 준비해야 할 것들이 있다.
  • ruby 헤더 파일 설치
    • gem 설치시 "require: cannot load such file -- mkmf (LoadError)" 에러가 발생한다면, ruby 헤더 파일을 설치한다. 우분투 리눅스의 경우 ruby-dev를 설치한다.
  • c/c++ 컴파일러 설치 : 직접 컴파일 하는 경우에 필요하다.
  • make

install

gem을 설치한다. version을 명시할 수도 있다.
# gem install sinatra
# gem install -version '> 0.2'

list

로컬에 설치된 gem 목록을 보여준다.
# gem list -l
*** LOCAL GEMS ***

daemons (1.1.9)
diff-lcs (1.1.3)
eventmachine (1.0.0)
extensions (0.6.0)
haml (3.1.7)
json (1.7.5)
rack (1.4.1)
rack-protection (1.2.0)
rack-test (0.6.2)
...

원격지에서 사용할 수 있는 gem 목록을 보여준다.
# gem list -r a
abacus_count (0.0.1)
abaddon (0.0.3)
abak-flow (0.3.1)
abanalyzer (0.0.6)
abb (0.0.1)
abbey (0.1.3)
abcjs-rails (1.4)
abcrunch (0.0.5)
abebooks4r (0.1.0)
...

search

로컬에 설치된 gem을 찾는다.
# gem search sinatra
*** LOCAL GEMS ***

sinatra (1.3.3)

원격에서 gem을 찾는다.
# gem search sinatra -r
*** REMOTE GEMS ***

airbrake-sinatra (0.0.2)
ajsharp-sinatra-respond_to (0.8.0)
alex-sinatra_warden (0.3.0.2)
alphasights-sinatra-sprockets (0.1.1)
async_sinatra (1.0.0)
benjaminjackson-sinatra-cache (0.3.8)

uninstall

gem을 삭제한다. 여러 개의 버전이 설치돼 있을 경우 삭제할 버전을 선택할 수 있다.
# gem uninstall rake
Attempting to uninstall gem 'rake'

Select RubyGem to uninstall:
 1. rake-0.3.2
 2. rake-0.4.0
 3. All versions

gem 패키지 만들기

gem server 만들기