1. gem
- 레일즈가 프레임워크라면, 젬은 라이브러리이다.필요한 기능이 있을 때마다 추가해서 사용할 수 있다.
- 루비에서 지원하는 패키니 시스템이다. 인터넷에서 자동으로 프로그램을 받아서 설치를 해준다. node의 npm 개념이다.
- 레일스 프로젝트를 생성하면 프로젝트 루트 디렉토리에 Gemfile이 자동으로 생성된다. Gemfile은 다양한 gem을 등록하는 텍스트 파일이다.
- gem 명령어
- gem install
- gem upadate
- gem uninstall
- gem을 일일이 설치할 수 없기 때문에 bundler를 이용하여 한꺼번에 설치한다.
- gemfile은 bundler에서 사용하는 의존성 파일이다.
- bundle은 gemfile에 정의된 gem들의 의존성을 파악해 사용할 수 있게 해주는 명령어이다.
- 번들러는 설치된 모든 gem과 버전관련 정보를
Gemfile.lock에 기록한다.
group
group :development do : 개발 환경에서만 사용하는 gem
group :development, :test do: 개발, 테스트 환경에서 사용하는 gem