윈도우에서 루비와 레일즈 한방에 설치하기

이전에 리눅스에서 루비와 레일즈 설치하는 방법에 대한 글을 적었습니다. 맥에서도 동일하게 설치해도 되고, homebrew를 이용하여 설치하는 방법이 있긴 한데 그건 또 다음 기회에… (맥에서 루비를 기본 설정으로 쓰고 있는 게 있어서 그거랑 꼬이지 않아야 함.)

근데 아직 많은 사람들이 이용하는 윈도우에서 설치해서 이용하는 방법에 대해서 적지 않았더군요. 저도 요즘 윈도우 환경에서 머물고 있는지라…ㅇㅂㅇ;;; 게다가 윈도우를 홈 서버로 하나 두고 있어서 그 환경에서 여러모로 돌리는 것도 있으니… 이 홈 서버에 설치하면서 보여드리겠습니다!

윈도우에서 루비와 레일즈 설치할 때에는 ruby installer라고 해서 별도로 제공되는 인스톨러를 이용하면 설치를 쉽게 할 수 있습니다.

 

20180428_011553.png

루비 공식 홈페이지에 있는 다운로드 경로를 타면 나오는 공식 사이트입니다. 윈도우 인스톨러로 exe 형태로 제공해 줍니다.

근데 왜 이런 걸 글로 쓰냐고요?

그냥 아무생각 없이 설치하면 100% 실패하거든요!

ㅡㅅㅡ

오른쪽에 친절하게 어떤 버전을 이용하라고 나와있고, 하이라이트 처리도 되어 있습니다. 윈도우에서 루비를 설치할 때 devkit이 없는 상태로 설치를 하면 루비 스크립트만 실행하는 상황이 발생합니다. 별도의 gem 빌드가 필요한 경우에는 devkit이 있는 버전이 필요합니다. devkit에는 MSYS64가 딸려 들어옵니다. 몇몇 잼의 경우에는 받아서 빌드해 줘야 하는 경우도 있기 때문에 개발을 위해서 여러 환경을 구성하려면 with devkit 버전으로 받아줍니다.

그리고 설치 버전은 일단 2.4.4로 하겠습니다. 이전 글에서 우분투에는 2.5를 받아서 레일즈 설치까지 보여줬습니다만 여기서는 왜 제가 2.4 버전대를 이용하냐고요? 저기 아카이브 가서 받기 귀찮아서…ㅡㅅㅡ

현재 2.5.1 최신 버전으로 받아서 제가 글 쓰는 자료를 만들었을 때에는 레일즈 프로젝트 생성 후 실행 시 오류가 발생했습니다. 몇 가지 gem들이 호환이 덜 되는 거 같더군요. 그래서 일단 버전 좀 낮은 안정버전을 가지고 하겠습니다. 인스톨러를 실행하면 아래 화면과 같이 실행됩니다.

사용자 PATH 등에 추가하느냐고 물어보는데 그냥 놔두면 됩니다. 확장자 연결 또한 그냥 놔두고… UTF-8 인코딩은 체크해주고 싶은 분들은 해주시면 됩니다.

루비 말고도 MSYS를 설치할 것인지 선택하는데, 설치해 줍니다.

그리고는 진짜 기~나긴 인스톨 시간….;ㅅ;

설치가 끝났습니다. 1/3 정도요…;ㅅ;

MSYS 쉘을 실행해서 필요한 작업을 진행할 겁니다. 체크 되어 있는 거 풀지 말고 그대로 완료합니다.

이 작업을 꼭 해줘야 합니다. MSYS에서 동작하는 추가적인 루비 인스톨러인데.. MSYS 환경 설치, 루비 및 gem 파일 빌드를 위한 별도의 툴체인들 설치 작업을 하는 곳이기 때문에 이곳에서의 설치가 깔끔하게 진행되어야 합니다. 뭐, 실제로는 1,2,3 순서대로 하나씩 진행해 주면 되는 겁니다만… 이 작업 대충 했다가 꼬이면 망합니다. 재설치 해야합니다. (경험담)

그래서 우선 1번 작업을 진행해 줍니다.

패키지 관리자와 거기에 필요한 공개키 생성 등의 작업을 진행합니다.

완료되면 위와 같이 진행됩니다만 일단 신경쓰지 말고 2번 작업을 진행합니다.

2번 작업은 현재 있는 MSYS의 패키지들을 업데이트 합니다.

완료된 후에는 3번 작업을 진행하여 필요한 패키지를 설치합니다. 2번이 제대로 되면 3번은 사실상 할 일 없이 그냥 작업 빨리 완료될 겁니다.

3번까지 진행 완료되면 루비는 설치 완료가 된 동시에 전체 작업의 2/3의 설치가 완료된 것입니다. 혹시 모르겠다면 다시 1,2,3을 하나 하나 입력하면서 순서대로 진행해 주세요. 완료되면 엔터로 화면을 닫습니다.

위의 화면을 보면 알겠지만 인스톨러는 사용자 PATH에 루비를 설정했습니다. 이는 그냥 명령 프롬프트를 이용하면 바로 루비를 이용할 수 있다는 것입니다.

그 외에 프롬프트 실행의 경우에는 시작 메뉴에 보면 아이콘화 되어 있어서 이걸 실행해도 문제는 없습니다.

그러나 규링은 명령 프롬프트 그대로 이용하는 걸 좋아하는 녀석! 명령 프롬프트 실행해서 바로 확인해 보겠습니다. 루비의 버전을 확인하기 위해 ruby -v 명령을 입력합니다.

이제 레일즈를 설치합니다. 간단하게 gem install rails를 입력하여 설치를 진행합니다. 처음 실행이라 방화벽 화면이 나오겠지만 당연히 허용해주시고 실행하시면 필요한 gem 패키지들 받아서 알아서 설치할 것입니다.

이것도 이제 긴~~~ 시간을 기다려 줍니다. ;ㅅ; 루비 설치는 긴 시간을 요구합니다. 그리고 리소스도요…;ㅅ;

설치 중에 시퓨 사용량 미친듯이 올라가면… 정상입니다. ;ㅅ;

이제 설치가 완료되었습니다.

설치 확인을 위해 프로젝트를 하나 만들어서 돌려보겠습니다. 매번 보던 work 폴더를 하나 만들어서 이동 후, hello라는 레일즈 프로젝트를 생성합니다.

생성 명렁어는 rails new hello 입니다.

프로젝트도 처음 생성하는 것이라 필요한 gem 파일을 알아서 설치중입니다. 기다립니다. ;ㅅ; (맨 처음 설치에서는 기다리다가 지친다는…;ㅅ;)

프로젝트 생성 끝났습니다. ;ㅅ;

생성된 프로젝트를 실행해 보겠습니다. 프로젝트 폴더에 들어가서 rails s 로 프로젝트를 실행합니다. 그러면 내장된 기본 서버로 동작이 되며, 3000번 포트를 이용하여 동작할 것입니다. 아래가 실행 화면입니다.

그리고 이걸 브라우저로 접속하면…

되었습니다. ;ㅅ;

루비와 레일즈를 윈도우 환경에서 구성하는 법에 대해서 작성하였습니다. 은근슬쩍 긴 글 읽어주셔서 감사합니다.

이제 진짜로 간단 무식하게 루비 배우고 레일즈 좀 배우면 원하는 대로 진행할 수 있습니다. ;ㅅ;

irb(Interactive Ruby)

루비 프로그래밍을 배우고 써볼 땐 대화형 쉘인 irb를 이용하면 된다. 파이썬에도 비슷한 녀석이 있다. 아니, 요즘 나오는 상호 대화형 언어들은 전부 이런 형태의 쉘을 가지고 바로 이용해 볼 수 있는 환경을 제공해준다.

리눅스, 맥에서는 간단하게 irb를 입력하면 된다. 윈도우는 전용 쉘을 실행하거나 환경변수화 했다면 똑같이 irb 명령어가 이용될 수 있다. 규링은 윈도우 환경에서도 시스템 환경변수를 설정하였기 때문에 irb가 명령 프롬프트에서 먹힌다.

여기서 원하는 만큼 입력하면서 기본기를 다지고 나면 루비는 뭐… 충분히 쉽게 배워서 써먹을 수 있다.

[개발자의 취향]에디터 테마…

음….. 가끔 보면 개발자들끼리 이게 좋다 아니다 하면서 투닥거리게 만들기 쉬운 주제가 있는데…

그 중 하나가 바로 데이터 테마가 아닌가 싶다.

취이니 존중해 달라고 하면 뭐 끝날 일이지만….

여러모로 말 나오는 거야 뭐….ㅡㅂㅡ;;;

일단 밝은 테마냐 어두운 테마냐 가지고도 여러모로 말이 나오긴 하다만… 그냥 편한대로 쓰면 된다.

이런 거에 뭐가 좋다 아니다를 밀어붙이진 말자…;ㅅ;

규링은 이런 밝은 테마로도 잘도 일한다. ㅇㅅㅇ!

p.s. 가끔은 좀 변태같은 테마를 찾는 경우가 있는데… 그럴 땐 테마들을 만들어서 올리는 사이트에 가서 열심히 취향 찾아 떠나보자. 규링은 이런 취향도 좋다고 보는데….. 옛날 PC통신 터미널 쓰는 느낌이랄까…?

리눅스에서 루비와 레일즈 한방에 설치하기

루비를 이용하면 주로 레일즈를 같이 이용하게 되는 경우가 많다. 그래서 이번에 루비와 레일즈 설치하는 방법에 대해서 한방에 정리해 보려고 한다.

루비를 윈도우에서 이용하기 위해서는 윈도우 전용 인스톨러를 이용하면 된다. 이 방법은 다음 번에 소개하도록 하겠다. (은근 미친듯이 짜증난다. 잘못하면 여러모로 날려먹는다.) 맥에서는 간단하게 홈브류를 이용하면 쉽게 해결된다.

리눅스는 더 쉽다. 필요한 패키지만 설치하고 그 담에는 루비의 패키지 관리자를 이용하여 설치하면 되기 때문이다. 단, 설치하는 데 필요한 시간과 그에 따른 인내가 좀 필요하다만 애니 좀 보고 있으면 금방 갈 것이다.

레일즈를 설치하기 위해서는 Nodejs와 Yarn이 필요하다. 레일즈 자체의 웹 패커를 이용하여 기능 확장을 할 수 있는데, 그들이 저 둘을 필요로 하기 때문이다. 따라서 먼저 저 둘을 설치할 수 있는 repo를 추가하고 설정하겠다.

아, 참고로 리눅스는 규링이 맨날 이용하는 우분투 기준으로 설명한다.

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list

sudo apt-get update
sudo apt-get install git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-properties libffi-dev nodejs yarn

명령어는 위에 명령어대로 입력하면 설치가 진행된다.

패키지의 repo를 추가하고 나서 업데이트와 설치를 하는 화면이다. 필요한 패키지가 설치된다면 이제는 루비 패키지 관리 환경을 설치한다.

RVM, rbenv 이 둘이 주로 이용되는데, 필자는 rbenv를 이용할 것이다. git을 쓸 줄 안다면 나중에 새로운 버전을 업데이트 받고 하는 데 있어서 쉽게 이용할 수 있기 때문이다. 아래에서 보는 것처럼 rbenv를 클론 후에 환경변수를 설정해주는 것만으로도 간단하게 끝난다. 또한 루비를 빌드하는 플러그인인 ruby-build도 쉽게 클론해서 이용할 수 있다. 새로운 버전이 나올 때마다 기존에 받아둔 내용에 새로 pull을 해서 업데이트 하면 되기 때문에 관리 또한 쉽다.

이 다음에 원하는 루비 버전을 설치하면 된다. 설치하고자 하는 루비의 버전을 입력하면 된다. 우리는 최신 버전인 2.5.0 버전을 설치할 것이기 때문에 2.5.0을 입력한다.

진짜 느긋하게 기다려 줍니다…..(ㅡㅅㅡ);;;

설치가 완료된 후에는 global이라는 명령을 통해서 글로벌 버전으로 설정해 줍니다. 이래야 여러 곳에서 해당 버전을 잘 이용할 수 있습니다. 로컬 버전으로 이용해야 하는 경우는 특정 루비 버전을 이용할 경우에 특정 경로에 한해서 특정 버전을 이용할 수 있게 합니다만, 일단은 글로벌 버전으로 이용하겠습니다.

그리고 마지막으로 rehash를 해주면 버전 설정이 전체적으로 완료됩니다. 마지막으로 버전 확인을 위해 -v를 입력하면 버전 확인이 됩니다.

이 내용을 코드로 보면 아래처럼 됩니다.

cd
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
exec $SHELL

git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc
exec $SHELL

rbenv install 2.5.0
rbenv global 2.5.0
rbenv rehash
ruby -v

참고로 설치 중에 CPU 사용률 엄청 올라가는데… 정상입니다.

파이썬에 별도의 패키지를 이용하기 위해서 pip, wheel, setuptools 같은 것을 이용하듯, 루비에는 gem이라는 패키지 설치자가 있습니다. 레일즈는 이 gem을 이용하여 설치합니다.

우선 번들 설치를 하는 번들러를 설치하겠습니다. 아마 업데이트가 되는 경우가 더 많을 겁니다.

이제 레일즈를 설치합니다. 지금 글을 쓰는 데 있어서 제일 안정적이면서 최신 버전은 5.1.4 버전입니다.

gem install rails -v 5.1.4



없는 gem 파일들은 자기가 알아서 받아서 설치하니 그냥 느긋하게 기다리면 됩니다.

기다리는 동안 CPU 참 여러모로 쳐묵합니다. ㅇㅅㅇ;;;

설치가 완료되었습니다. 이제 프로젝트 하나 만들어서 동작하는 지 확인하겠습니다. 설치 중에도 필요한 걸 알아서 설치하듯, 레일즈 프로젝트에서도 사용할 때 필요한 건 알아서 만듭니다. 그래서 맨 첨에만 시간 꾀 걸리는 편입니다.

또 기다림…. 을 하게 되면 프로젝트 폴더가 만들어집니다. 들어가서 rails s 명령어로 서버 실행을 하면 제일 먼저 만들어지는 예시 페이지가 동작할 것입니다.

은근 길었습니다. ;ㅅ;

루비만 제대로 설치하면 레일즈는 루비 안에 있는 gem으로 얼마든지 설치할 수 있으니 별 문제될 것은 없습니다.