Windows 10에서 Ruby on Rails 개발환경 구축하기 (Netbeans IDE/부록.RubyMine)

안녕하세요 에이블정보기술 공식블로그지기입니다!

이번 포스팅은 Windows 10에서 Ruby on Rails 개발환경을 구축하는 방법입니다.

추가로 궁금하시거나 오류지적은 댓글 부탁드립니다. 😎


 

1. 개발환경

  • 00

 

2. 설치파일 준비

  • 우선, 윈도우에서 개발환경 구축을 위해 아래와 같은 파일들이 필요하다.
  • 01

 

 

3. Ruby와 Rails 설치

3.1 Ruby(v2.2.1)

  • 윈도우용 Ruby를 사용하기 위해 rubyinstaller-2.2.1-x64.exe를 설치한다.
  • 이 글에서의 설치 경로는 C:\Ruby22-x64으로 지정했다.
  • 02

 

  • 설치 중 반드시 “Add Ruby executable to your PATH”부분에 체크해야 추후 IDE 등에서 운용이 가능하다.
  • 설치 후 명령 프롬프트(Win+R, cmd 엔터)로 아래와 같은 명령어를 입력하면 설치된 루비 버전을 볼 수 있다.

  •  
  • DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe파일을 열어 아래와 같이 “C:\Ruby22-x64\devkit”에 Exctract하도록 한다.
  • 03

 

  • 명령 프롬프트에서 C:\Ruby22-x64\devkit로 이동해 ruby로 dk.rb init과 install을 아래처럼 설치한다.

 

3.2 Rails(4.2.1)

  • Rails란 MVC패턴 기반의 웹 애플리케이션 프레임워크이다.
  • 윈도우에서는 Rails를 Gem으로 설치하며, 윈도우용 Gem설치는 rubygems-2.7.6.zip를 이용한다.
  • 우선 zip파일을 C:\Ruby22-x64의 경로로 압축을 풀어보자.
  • 04

 

  • 다시 명령 프롬프트로 돌아와 아래와 같은 명령어로 Gem을 설치하자!

 

  • 이제 윈도우에서 Gem을 이용할 수 있다.

 

  • Rails를 설치하기 전, nokogiri를 낮은 버전으로 설치를 해야 별 문제없이 정상적인 Rails설치가 가능하다. nokogiri는 루비에서 HTML, XML등을 파싱하기 위한 라이브러리이며, 우리가 설치한 Ruby 2.2.1에서 사용하려면 아래와 같이 별도로 nokogiri 1.9.1을 설치한다.

 

  • nokogiri 설치 중 방화벽 보안경고가 뜨는데 가볍게 [액세스 허용]을 누르면 된다.
  • 05

 

  • 그럼 본격적으로 Rails를 설치해보자. Rails 설치 명령어는 다음과 같다.
  • 정상적으로 설치가 완료되었다면 rails -v명령어로 버전을 확인한다.

 

  • 위까지 잘 따라왔다면 윈도우에서 Ruby on Rails 프레임워크를 사용할 수 있다!

 

4. Netbeans IDE를 이용하여 Ruby on Rails 프로젝트 개발 준비

  • 여기서부터는 개인의 취향에 맞는 IDE를 골라 사용하면된다. Eclipse, RubyMine 등 본인이 사용하기 좋은 IDE를 사용해도 좋다. 이 글에서는 무료 IDE인 Oracle사의 Netbeans IDE를 사용하였으며 8.0.2 php버전을 기준으로 설명했다.

4.1 Netbeans 설치

  • 당연하게도 Netbeans를 설치하려면 윈도우에 Java가 미리 설치되어야한다. 윈도우의 Java설치는 누구나 쉽게 설치할 수 있으므로 생략하도록 한다.(이 글 개발환경에선 jdk 1.8.0을 사전에 설치했다.)

 

  • Netbeans 역시 설치과정이 단순하므로 과정은 생략하도록 한다.

 

4.2 Netbeans용 Ruby on Rails 플러그인 설치

  • Netbeans에서 Ruby on Rails 프로젝트를 생성/관리하려면 플러그인이 많이 필요하다.
  • 우선 1434628827_ruby_and_rails.zip 파일의 압축을 아래와 같이 C:\Ruby22-x64에 풀어준다.
  • 07

 

  • 압축 풀기를 완료했다면 방금 설치한 Netbeans를 실행하여 상단 Tool > Plugins로 이동한다.
  • 08

 

  • 아래 사진과 같이 Downloaded > Add Plugins 에서 org-jruby-jruby.jar파일을 선택하여 우선 설치한다.
  • .nbm파일들을 설치하기위해 JRuby가 사전에 설치되어야 하기 때문.
  • 09
  • 10
  • 설치 중간에 Not Signed 경고가 뜨는데 무시하고 설치하면 된다.

 

  • 다음 .nbm 플러그인들을 위와 같은 과정으로 설치한다. 단, .nbm파일 중 “org-netbeans-modules-jellytools-ruby.nbm”파일은 제외하고 설치한다. jellytools는 의존성 문제로 설치 중 충돌하게되는데, 이를 제외하고 설치해도 무방하다.
  • 11
  • 12

 

  • [Next]와 [Continue] 등을 눌러 설치를 하다보면 “Restart IDE Now” 버튼이 나오는데, 클릭하면 Netbeans가 재실행되면서 정상적인 플러그인 설치가 완료된다.

 

  • 마지막으로, Netbeans에서 Ruby SDK가 Tools > Ruby Platforms에서 아래와 같이 정상적으로 등록되어있는지 확인하자.
  • 13

 

  • 여기까지가 윈도우에서 Netbeans IDE를 사용하여 개발 준비 과정이며, 새로운 프로젝트를 생성할 준비가 되었다!

 

5. Netbeans IDE를 이용하여 Ruby on Rails 프로젝트 생성과 실행

5.1 MySQL 설치

  • 이 글에서는 MySQL 5.7.24로 프로젝트 데이터베이스를 연동한다.
  • 우선 MySQL을 사용하기위해 mysql-installer-community-5.7.24.0.msi로 설치해야 한다. 윈도우에서 MySQL의 Connector/J 등 윈도우용 라이브러리를 필요로하기 때문이며 실제로 로컬DB서버를 운영하여 프로젝트에서 사용되는 정보들을 처리하기 위함이다.

 

  • 그리고 앞서 언급한대로 mysql-installer-community-5.7.24.0.msi로 윈도우에 MySQL를 설치한다. MySQL 커뮤니티 인스톨의 설치는 타 블로그 등을 참고하면 좋다.

 

  • 설치 중 Setup Type은 Developer Default로 선택한다.
  • 14

 

  • 아래와 같이 [Next]를 누르기 전 반드시 [Execute]로 구성요소 설치 준비를 완료해야한다.
  • 15

 

  • 중간에 MS패키지 등의 설치를 요구하는 경우, 번거롭지만 일일히 [설치]한다.
  • 16
  • [Execute]를 누르면 아래와 같이 각각 구성요소들을 한번에 설치할 수 있다.
  • 17

 

  • 구성요소 설치 완료 후 [Next]를 누르다보면 포트설정(3306) 후에 아래와 같이 root비밀번호를 입력받도록 하는데, 적절한 비밀번호를 입력하고 [Next]와 [Continue]를 반복한다.
  • 여기서 입력한 root비밀번호는 절대 잊어버리지 말도록 하자.(추후 프로젝트 생성 후 DB연동 시 입력해야한다.)
  • 18

 

  • “Service Status Changed”라는 윈도우 알림 메시지가 확인 된 후에 [Next]와 [Continue]를 반복하다보면 아래와 같이 방금 전 설정한 root비밀번호를 물어본다. root비밀번호를 입력하고 [Next]와 [Continue]를 반복한다.
  • 20

 

  • 나머지 과정도 위와 비슷하게 [Next]와 [Continue]로 설치를 최종 완료한다.

 

  • 설치가 완료되면 아래처럼 MySQL 5.7 Command Line Client가 생성되어 있는 것을 볼 수 있다.
  • 21

 

  • 클라이언트를 실행하여 아래와 같이 “rails_dev” 데이터베이스를 생성한다.
  • root비밀번호는 위에서 정한 비밀번호를 입력하면 된다.

  •  
  • Ruby에서 MySQL을 사용하기 위해 아래와 gem명령어를 통해 mysql2를 설치한다.

 

5.2 Netbeans에서 프로젝트 생성

  • Netbeans에서 File > New Project를 선택하여 아래와 같이 프로젝트를 생성한다.
  • 특히, Ruby Platform은 “Ruby 2.2.1-p85″를 선택하도록 한다.
  • 23
  • 24

 

  • 그리고 아래 Database Name은 위에서 생성한 “rails_dev”를 입력한다.
  • 25
  • 26

 

  • 새 프로젝트가 생성되면, Gemfile을 열어 mysql2를 수정하고, nokogiri를 새로 추가한다.
  • 아래는 수정/추가된 Gemfile의 내용

  •  
  • 번거롭지만 프로젝트의 Gemfile을 수정하면 반드시 명령 프롬프트에서 프로젝트 폴더로 이동하여 “bundle install”을 해야한다.
  • (이뿐만이 아니라 나중에 새로운 Gem을 추가할때마다 “bundle install”을 해줘야함)

  •  

 

  • 또 한가지 번거로움이 있다. Netbeans에서 Ruby 2.X의 바이너리 인식을 하지 못하는 경우가 발생한다. 위 상황에서 프로젝트를 실행시키면 script/bin을 찾을 수 없다는 경고가 나오는데, 정답은 간단하다. 프로젝트 폴더의 bin폴더를 그대로 복사하여 그 폴더명을 script로 바꾸기만하면 된다.
  • 27

 

  • 이제 실행시킬 준비가 되었다!
  • 프로젝트 우클릭 > Run으로 서버를 기동해보자.
  • 28

 

  • 웹 브라우저에서 http://localhost:3000로 접속한 결과는 다음과 같이 “Welcome aboard”로 나타난다.
  • 29

 

<부록>

Ⅰ. RubyMine에서 Ruby on Rails 프로젝트 생성 및 실행

Android Studio, Intellij IDEA, Webstorm,…등을 개발하는 JetBrains에서 Ruby on Rails전용 IDE(유료)를 제공하는데, RubyMine이다. JetBrains에서 생산한 IDE들은 대부분 윈도우/리눅스/맥을 가리지않고 지원하며 RubyMine도 역시 윈도우용 IDE를 제공한다. Netbeans, Eclipse도 훌륭한 IDE이기 때문에 4.에서 언급했던 것과 같이 개발자 스스로 편한 IDE를 선택하면된다. 단 RubyMine은 유료이며, 이 글에서는 30일 무료 평가판(Evaluation)으로 Ruby on Rails 프로젝트를 윈도우에서 생성/실행하도록 한다.

Ⅰ-1. RubyMine 다운로드 및 설치

  • RubyMine은 JetBrains 공식 홈페이지에서 운영체제 및 버전별로 다운로드 가능하다.
  • 30

 

 

  • [Next]와 [Install]로 RubyMine을 설치한다.
  • 31

 

  • 설치 후 RubyMine을 최초 실행하면 아래와 같은 창이 뜨는데, “Do not import settings”로 [OK]를 클릭한다.
  • 32

 

  • 아래는 사용자 동의서에 동의하라는 내용. 물론 최초 한번만 동의하면 된다.
  • 33

 

  • JetBrains의 IDE들은 모두 Darcula를 지원한다. 아래 중 마음에 드는 테마를 선택하고 [Next: Keymaps]를 눌러 다음 단계로 넘어가자. (이 글에서는 Darcula로 선택함)
  • 34

 

  • 이 외에도 Keymaps, default plugins… 등의 설정을 하는데, 중요한 내용은 아니므로 [Next: …]을 눌러 SKIP하면 된다.

 

  • 앞서 말한것과 같이 “Evaluate for free”를 선택하여 평가판으로 RubyMine을 실행한다.
  • 35

 

  • RubyMine 실행 중 모습이 나타난다.
  • 36

 

Ⅰ-2. Ruby on Rails 프로젝트 생성

  • “Create New Project”를 눌러 새 프로젝트를 생성한다.
  • 37

 

  • Rails영역에서 Application을 클릭한 후 아래처럼 “Add Ruby SDK”를 클릭하여 2.~3.에서 설치했던 Ruby를 찾아 선택해준다.
  • 38

 

  • “Add Ruby SDK”를 클릭하면 자동으로 윈도우에 설치된 Ruby를 알아서 찾아간다.(역시 유료툴이 좋다.)
  • [OK]를 눌러 선택한다.
  • 39

 

  • 위에서 [OK]를 누른 경우, 짧게 무언가를 찾는 창이 뜨더니, Rails도 알아서 찾아주었다!
  • [Create]로 프로젝트를 생성한다.
  • 40

 

  • 프로젝트 생성하면 스스로 초기화를 하는데 몇 분 정도가 걸린다.
  • 41

 

  • Netbeans에서 프로젝트 처음 생성 시 Gemfile을 수정한것과 같이 RubyMine에서도 Gemfile 수정이 필요하다. 아래 내용을 모두 복사하여 좌측 프로젝트 > Gemfile의 내용을 모두 지운 후 붙여넣는다.
  • (아래 Gemfile은 기본 데이터베이스를 MySQL로 지정할 수 있도록 아래 7번 라인 “gem ‘sqlite3′“가 주석처리되고 그대신 9번 라인 “gem ‘mysql2′, ‘~>0.3.18′“가 추가되었으며, 맨 마지막 라인에 “gem “nokogiri”, (RUBY_VERSION <= “2.1” ? “~> 1.9.1″ : “~> 1.8.2″)“가 새로 추가된 내용이다.)

  •  
  • 다음은 프로젝트 > config > database.yml 파일의 내용이다. 이미 5.1에서 MySQL을 사용하였기 때문에 여기에서도 MySQL을 사용하도록 했다. 아래 내용 모두 복사하여 기존 database.yml파일에 붙여넣는다.
  • (기존 프로젝트는 sqlite3로 잡혀있기 때문에 mysql로 데이터베이스를 바라볼 수 있도록 하는 내용이며, 5.1에서 생성한 DB, username, password로 설정한다.)

  •  
  • 보통 Gemfile을 추가(혹은 수정)하게되면 명령 프롬프트에서 별도로 “bundle install”을 해야한다.
  • 아래와 같이 RubyMine의 좌측 맨 하단에 보이는 “Terminal”을 클릭하면, 윈도우의 명령 프롬프트와 같은 커맨더가 생긴다. “bundle install”을 입력하여 변경된 gem들을 반영한다.
  • 43

 

Ⅰ-3. RubyMine에서 Ruby on Rails 프로젝트 실행

  • [Shift + F10]으로 Ruby on Rails 프로젝트를 실행하며, 웹 브라우저에서 http://localhost:3000으로 접속한다.
  • 정상적으로 실행이 된 모습은 아래와 같다.
  • 42