Ruby 사용하기
ServBay는 macOS에서 Ruby 개발자를 위해 효율적이고 유연한 개발 환경을 제공합니다. ServBay의 패키지 관리 시스템을 통해 여러 버전의 Ruby를 손쉽게 병렬 설치·관리할 수 있고, 강력한 .servbay.config
파일로 각 프로젝트별 Ruby 버전을 지정해 개발 과정의 단순화를 실현하며 환경 일관성을 보장합니다.
개요
Ruby 언어 소개
Ruby는 동적이며 오픈소스인 객체지향 프로그래밍 언어로, 간결하고 우아한 문법과 개발자 생산성 중시로 유명합니다. 일본의 컴퓨터 과학자 마츠모토 유키히로(Yukihiro "Matz" Matsumoto)가 1990년대 중반에 창안했으며, 그 철학은 “프로그래밍을 더욱 즐겁게 만드는 것”입니다. Ruby는 Perl, Smalltalk, Eiffel, Ada, Lisp 등 다양한 언어에 영향을 받았으며 코드의 가독성과 간결성을 강조합니다.
Ruby에서는 모든 것이 객체입니다. 객체지향·명령형·함수형 등 다양한 패러다임을 지원하고, 2004년 David Heinemeier Hansson(DHH)가 발표한 Ruby on Rails 웹 프레임워크 덕분에 전 세계적으로 폭넓게 사용되고 있습니다. 현재 Ruby는 웹 개발(Rails, Sinatra), 스크립팅, 자동화, 프로토타이핑 등 다양한 분야에서 쓰이며, 생태계의 중심에는 RubyGems(패키지 매니저)와 Bundler(의존성 관리 도구)가 있습니다.
ServBay의 Ruby 지원
ServBay는 각기 다른 Ruby 해석기 버전을 독립적인 패키지로 관리합니다. 핵심 이점은 다음과 같습니다:
- 다중 버전 병렬 지원: Ruby 2.7, 3.0, 3.3, 3.4 등 다양한 버전을 동시에 설치할 수 있어, 버전 충돌 걱정 없이 사용할 수 있습니다.
- 프로젝트별 버전 지정: ServBay 고유의
.servbay.config
파일을 통해 각 프로젝트마다 필요한 Ruby 버전을 정확히 지정할 수 있습니다. - 간편한 관리: ServBay GUI에서 각 Ruby 버전의 설치·제거·목록을 직관적으로 관리할 수 있습니다.
- Gem 관리 통합: Ruby 설치 후
gem
명령어로 RubyGems 패키지를 바로 관리할 수 있습니다.
이 기능들은 서로 다른 Ruby 버전을 필요로 하는 레거시 프로젝트 유지관리, 새로운 프로젝트 개발(Ruby on Rails 등), 특정 Ruby 툴 사용 등 다양한 상황에서 매우 유용합니다.
Ruby 패키지 접근하기
- ServBay 앱을 실행하세요.
- 왼쪽 네비게이션 바에서
패키지 (Packages)
를 클릭합니다. 패키지
페이지에서 아래로 스크롤하거나, 왼쪽 세부 목록에서Languages
->Ruby
를 선택합니다.- 오른쪽 영역에 사용 가능한 Ruby 패키지 목록이 표시됩니다.
Ruby 설치하기
패키지 목록에서는 각 Ruby 버전의 상태를 명확히 확인할 수 있습니다:
- 패키지 이름: 예시로
Ruby 3.3
등. - 버전: 해당 패키지의 구체적인 버전 번호.
- 상태:
Installed
(설치됨) 또는Not Installed
(미설치)로 표시됩니다. - 제어: 조작 버튼이 제공됩니다.
아직 설치하지 않은 Ruby 버전(예: Ruby 3.3
)을 설치하려면:
- 목록에서 원하는 버전을 찾습니다.
- 상태가
Not Installed
임을 확인합니다. - 우측 끝에 있는 다운로드/설치 (Download/Install) 아이콘(보통 아래 화살표)을 클릭합니다.
- ServBay가 해당 Ruby 버전을 다운로드 및 설치합니다. 설치에는 다소 시간이 소요될 수 있습니다.
- 설치가 완료되면 해당 버전의 상태가
Installed
로 바뀌고 아이콘도 제거 (Uninstall) 아이콘(휴지통)으로 변경됩니다.
설치된 Ruby 버전 관리
- 설치된 버전 확인: 목록에서
Installed
상태로 현재 환경에 설치된 모든 Ruby 버전을 쉽게 파악할 수 있습니다. - Ruby 제거: 필요 없는 Ruby 버전은 해당 행의 제거 (Uninstall) 아이콘(휴지통)을 클릭하고 확인하여 시스템에서 간단히 삭제할 수 있습니다.
설치한 Ruby 사용하기
ServBay에서 Ruby를 설치하면, ServBay가 관리하는 환경변수에 자동 등록됩니다. 터미널에서 ServBay 환경을 활성화한 상태라면 ruby
, gem
명령어를 바로 사용할 수 있습니다.
주요 명령어 예시:
현재 활성화된 Ruby 버전 확인: 터미널을 열고 다음을 실행하세요:
bashruby -v
1현재 터미널 세션에서 기본 활성화된 Ruby 버전을 표시합니다. 이 버전은 전역 설정이나 프로젝트별
.servbay.config
파일에 의해 결정될 수 있습니다.RubyGems 버전 확인:
bashgem -v
1Gem 패키지 설치: 예를 들어, Jekyll(정적 사이트 생성기) 설치:
bashgem install jekyll
1또는 Ruby on Rails 설치:
bashgem install rails
1Ruby 스크립트 실행:
hello.rb
라는 파일을 생성하고 다음과 같이 작성하세요:ruby#!/usr/bin/env ruby puts "Hello from Ruby in ServBay!"
1
2터미널에서 실행:
bashruby hello.rb
1
프로젝트별 버전 관리: .servbay.config
ServBay의 핵심 강점 중 하나는 프로젝트별 환경설정을 지원한다는 점입니다. 프로젝트 루트에 .servbay.config
파일을 두면, 그 프로젝트에서 필요한 Ruby 버전을 고정할 수 있습니다.
장점:
- 다언어 동시 관리: 하나의 파일에서 Ruby, PHP, Node.js, Python, Go, Java, .NET 등 다양한 언어 버전을 함께 관리 가능.
- 팀·배포 환경 일관성 확보: 팀원 모두 또는 여러 배포 환경이 완벽히 동일한 Ruby 버전을 사용하도록 보장.
- 자동 전환:
cd
로.servbay.config
가 포함된 폴더로 이동하면 ServBay 환경이 자동으로 해당 파일의RUBY_VERSION
값을 인식해 설정 변경.
설정 예시:
프로젝트 루트에 .servbay.config
파일을 만들고 RUBY_VERSION
변수에 원하는 Ruby 주요 버전(예: 2.7, 3.3 등)을 지정하세요. ServBay는 이미 설치된 해당 버전군의 최신 패치를 자동 선택합니다.
ini
# .servbay.config
# 프로젝트에서 사용할 Ruby 주요 버전 지정 (예: 3.3)
# ServBay가 설치되어 있는 3.3.x 중 최신 버전을 자동으로 사용함
RUBY_VERSION=3.3
# 다른 언어 버전 및 설정도 함께 지정 가능
NODE_VERSION=18
# ... 기타 설정 ...
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
이 디렉터리에서 터미널을 열고 ServBay 환경을 활성화한 후 ruby -v
를 실행하면, .servbay.config
에 지정한 Ruby 버전(또는 해당 버전군의 설치된 최신 버전)이 사용됩니다.
간단 사용 예시
.servbay.config
사용법을 보여주는 간단한 예제 프로젝트를 만들어봅시다:
프로젝트 디렉터리 생성:
bashmkdir my-ruby-project cd my-ruby-project
1
2.servbay.config
생성:my-ruby-project
폴더에.servbay.config
를 만들고 다음 내용을 입력하세요:iniRUBY_VERSION=2.7 # Ruby 2.7.x가 이미 설치되어 있다고 가정
1(ServBay에서 Ruby 2.7 버전을 미리 설치해두어야 합니다)
Ruby 스크립트 생성:
app.rb
파일을 다음과 같이 만드세요:ruby#!/usr/bin/env ruby puts "Project is using Ruby version: #{RUBY_VERSION}"
1
2환경 활성화 및 확인: (터미널에서 ServBay 환경이 활성화되어 있어야 합니다)
my-ruby-project
디렉터리에서 다음을 실행:bashruby -v
1출력에는 설치된 Ruby 2.7.x 버전이 나타나야 합니다.
스크립트 실행:
bashruby app.rb
1출력 예시:
Project is using Ruby version: 2.7.x
(여기서 x는 설치된 세부 버전입니다).프로젝트 의존성 설치(예시): 프로젝트가 Bundler를 이용해 의존성(Rails 등)을 관리할 경우 다음처럼 실행할 수 있습니다:
bash# bundler 미설치시 # gem install bundler bundle install
1
2
3Bundler는 프로젝트의
Gemfile
과 활성화된 Ruby 버전(여기서는 2.7.x)에 따라 의존성을 설치합니다.
이제 Ruby 3.4가 필요한 다른 프로젝트가 있다면, 해당 프로젝트의 .servbay.config
에 RUBY_VERSION=3.4
로 지정하기만 하면 됩니다. 디렉터리 전환 시 ServBay가 Ruby 환경을 자동으로 조정해줍니다.
웹 서버 통합 (Rails, Sinatra 등)
Ruby on Rails, Sinatra 등 Ruby 기반 웹 애플리케이션을 개발할 때는 대개 Puma, Unicorn, Thin 같은 앱 서버를 사용합니다. 다음과 같이 연동할 수 있습니다:
- ServBay에서 애플리케이션용 **웹사이트(Website)**를 생성합니다.
- ServBay의 웹 서버(Nginx, Caddy, Apache 등)를 리버스 프록시로 설정해 특정 도메인의 요청을 Ruby 앱 서버가 리스닝하는 포트(예:
http://localhost:3000
또는 Puma/Unicorn의 Unix 소켓)로 전달하도록 구성합니다.
이 방식이면 ServBay의 도메인 관리, 자동 HTTPS(설정 시), 통합된 접근 포인트 등 편리함을 모두 활용할 수 있습니다.
정리
ServBay는 macOS에서 Ruby 개발 환경을 크게 개선합니다. 직관적인 패키지 관리 UI와 강력한 .servbay.config
프로젝트별 버전 관리 기능으로 여러 Ruby 버전 및 Gem을 쉽게 관리할 수 있고, 프로젝트별 독립적인 환경도 간단히 구축할 수 있어 더욱 효율적인 Ruby 개발이 가능합니다.