PMPV

윈도우 10에서 Ruby on Rails 세팅하기 - WSL 본문

development/개발 환경 세팅

윈도우 10에서 Ruby on Rails 세팅하기 - WSL

playinys 2018. 8. 9. 15:47
반응형

0.

윈도우 10에서 WSL이 등장하며, 예전보다 윈도우 디바이스에서 Ruby on Rails를 세팅하는 작업이 수월해졌습니다.

하지만 리눅스 기반에서의 작업이 익숙하지 않다면, 아직 막연한 이야기입니다.

이번 포스팅은 지난 며칠간 윈도우 노트북 3개에서 루비온레일스 작업 환경을 세팅하며 겪은 경험을 나중에 다시 보기 위해 서술합니다.


레퍼런스 사이트 두 개를 먼저 첨부합니다. 많은 도움이 되었습니다.


서울대 멋쟁이 사자처럼 SSENTA 님의 포스팅 - Ruby on Rails on WSL (윈도우 10에서 레일즈 설치하기)

고레일즈 윈도우 ROR 세팅 가이드 - Setup Ruby on Rails on Windows 10


1. WSL

WSL은 윈도우에서 리눅스 운영체제를 사용하도록 도와주는 프로그램입니다. WSL 설치 가이드는 레퍼런스 페이지의 내용으로 대체합니다. 영어에 익숙하신 분들은 고레일즈, 익숙하지 않으시다면 친절한 서울대 멋사 SSENTA 님의 포스팅(이하 샤대 포스팅)을 보시면 되겠습니다.

샤대 포스팅의 WSL 설치 내용 중 우분투 앱 대신 Bash 환경에서 작업하라는 첨언이 있는데, 저의 경우 우분투 앱에서 진행해도 문제가 생기지 않았습니다. 혹시 우분투에서 진행할 때 어떤 문제가 발생할 수 있는지 아시는 분은 댓글로 조언을 해주시면 감사하겠습니다.


2. Dependency

맥의 경우, ROR 설치 스텝은 다음과 같습니다.


1. Homebrew를 설치합니다.

2. Homebrew를 사용해 rbenv를 설치합니다.

3. rbenv를 사용해 Ruby를 설치합니다.

4. Ruby를 사용해 Rails를 설치합니다.


윈도우의 경우, 1번에 해당하는 brew 프로그램이 사용이 불가능합니다. brew의 작업 내용을 Dependency(이하 디펜던시)를 사용해 사전 작업을 맞춰줍니다. 레퍼런스 사이트에서는 디펜던시를 다음과 같이 제안합니다.


1. 샤대 포스팅


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



2. 고레일즈


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 software-properties-common libffi-dev


두 가지 디펜던시 리스트에서 마지막 줄의 파이선 디펜던시가 이름이 다른 것을 보실 수 있습니다. 우분투 버전 16.04의 경우 python-software-properties, 18.04의 경우 software-properties-common을 사용하시면 되겠습니다.


또한, 우분투 버전 16.04 환경에선 샤대 포스팅의 추천으로 문제 없이 세팅이 완료됩니다. 하지만 18년 8월 현재, WSL이 제공하는 우분투 버전은 18.04입니다. 18.04 버전의 우분투는 굉장히 컴팩트한 디자인으로 보입니다. 몇 가지 디펜던시를 더 추가해야 합니다. 


제가 추천하는 디펜던시 리스트는 다음과 같습니다.


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 software-properties-common libffi-dev


sudo apt-get install gcc make libsqlite3-dev



두 번째 줄에 있는 디펜던시 리스트만 추가하면 rbenv를 설치하고 루비를 인스톨할 때 gcc, make 디펜던시가 없다는 에러 메세지가 나오고 정상적으로 설치되지 않습니다. gcc와 make를 미리 설치하고 가겠습니다. libsqlite3-dev는 루비 레일즈까지 설치를 완료하고 프로젝트를 생성할 때 sqlite3 젬에 관련된 문제를 해결해줍니다. native extension에서 유발되는 문제로 추측합니다. 여기까지 되면 디펜던시 세팅이 완료됩니다.


2. rbenv, Ruby on Rails

이후 아래 과정은 맥에서 루비온레일즈를 세팅할 때와 동일합니다. 레퍼런스 페이지에서 정리를 잘 해주셔서 여기서 추가로 서술할 필요가 없을 것 같습니다. rbenv와 ruby-build를 설치해주시고, rbenv의 가이드를 따라 루비와 레일즈를 설치해주시면 되겠습니다. 이후에는 SSH Key 설정을 포함한 깃 초기화 세팅을 하고 마무리 하시면 됩니다. 마무리가 끝나면 레일스 앱 하나를 생성해보시고 번들과 서버 동작이 문제가 없는지 확인해주세요.


+ 한 가지 팁, WSL은 겁나 느려요. rbenv install <version>을 입력하고 30분을 기다렸다는 증언도 많습니다. 이런 경우 진행 결과를 보여주지 않아 굉장히 답답한데요. install에 --verbose 명령어를 추가해주세요. rbenv install <version> --verbose / rbenv install --verbose <version> 이런 식으로 입력하면 진행 과정을 모두 출력해줍니다. 중간중간 굉장히 오래 걸리는 부분이 있긴 하지만 정체된 상태인지 진행 중인데 단지 느릴 뿐인지를 구별할 수 있습니다.


++ rbenv install 명령어를 입력했을 때 서버사이드 문제로 진행이 안되는 경우도 발견했습니다.. 여러분의 잘못이 아니에요. 심지어 이 경우는 구글링해도 정보가 많이 나오지 않아요. 원인을 알 수 없는 이유로 진행이 되지 않는 경우, 몇 시간 뒤에 다시 시도해주세요.


3. WSL의 로컬 경로

윈도우와 리눅스에 익숙하지 않은 유저로서 경로를 찾는 일에도 애를 먹었습니다.

WSL의 디폴트 경로는 home/USER_NAME 입니다.

윈도우의 "내 문서"와 같은 경로로 이동할 때는 디폴트 경로에서 더 상위로 올라가 mnt 경로를 찾으면 되겠습니다.


mnt/c/Users/USER_NAME/


해당 경로에서 확인하시면 바탕화면, 내문서 등의 요소들을 확인하실 수 있습니다.

반응형
Comments