소개
Ruby는 단순한 스크립트부터 게임 및 웹 애플리케이션까지 모든 것을 작성할 수 있는 동적 프로그래밍 언어입니다. 이 언어는 1993년 일본에서 처음 출시되었으나, 2005년 서버 측 웹 개발용 언어로서 인기를 얻었습니다. Ruby는 초보자에게 사용하기 쉽고 재미있게 만들어졌지만, 복잡한 시스템을 생성하기에 충분히 강력합니다. 초보자와 경험 많은 개발자 모두에게 좋은 선택입니다.
Windows에 Ruby를 설정하는 다양한 방법이 있지만, 마이크로소프트는 Ruby 개발에 Windows Subsystem for Linux (WSL)과 Bash를 사용하도록 권장합니다. WSL은 Windows 10 기능으로, Windows에서 네이티브 Linux 명령줄 도구를 실행할 수 있게 해줍니다. 많은 Ruby 라이브러리가 Linux에서 실행되도록 설계되어 있으며, Windows에서 실행할 때 문제가 발생할 수 있습니다.
마이크로소프트는 이 문제를 해결하기 위해 Canonical 및 기타 Linux 배포판과 협력하여 Bash 셸과 Linux 명령줄 도구에 대한 네이티브 지원을 가능하게 했습니다. Bash와 WSL이 설치되면 좋아하는 Windows 도구로 파일을 편집하고, Ruby 및 관련 도구를 실행하기 위해 Bash와 명령줄 도구를 사용할 수 있습니다.
이 튜토리얼에서는 명령 줄을 사용하여 로컬 Windows 10 기기에 Ruby 프로그래밍 환경을 설정합니다. 먼저 Windows에서 Bash를 구성한 다음, RVM(Ruby Version Manager)을 사용하여 최신 버전의 Ruby와 필수 구성 요소를 설치합니다. 그런 다음 작은 Ruby 프로그램을 작성하여 환경을 테스트합니다.
전제 조건
Windows 10를 실행하는 컴퓨터와 Creators Update가 필요하며 관리 권한을 가진 소프트웨어를 설치할 수 있는 권한이 있어야 합니다.
단계 1 — Windows에 Bash 설치하기
명령 줄을 사용하여 Ruby를 설치하고 작업할 것입니다. 명령 줄은 컴퓨터와 상호 작용하는 비그래픽 방식입니다. 마우스로 버튼을 클릭하는 대신 명령을 텍스트로 입력하고 텍스트 기반의 피드백을 받게 됩니다. 명령 줄 또는 셸은 컴퓨터에서 매일 수행하는 많은 작업을 자동화할 수 있으며 소프트웨어 개발자에게 필수적인 도구입니다.
윈도우는 기본적으로 두 가지 명령줄 인터페이스를 제공합니다: 클래식 명령 프롬프트와 PowerShell입니다. 리눅스와 macOS에서 찾을 수 있는 인기 있는 셸 및 명령어 언어인 Bash를 설치할 것입니다.
명령줄 인터페이스를 편안하게 사용하고 싶다면 리눅스 터미널 소개를 참조하십시오.
먼저, 기계에서 개발자 모드를 활성화하십시오. 이를 위해 설정 앱을 열고 업데이트 및 보안을 선택한 다음 사이드바에서 개발자용 항목을 선택하십시오. 그런 다음 개발자 모드 옵션을 선택하고 이 변경 사항을 확인하라는 메시지가 나타나면 확인하십시오.
다음으로, 제어판을 열고 프로그램을 선택하십시오. 그런 다음 Windows 기능 켜기/끄기를 선택하십시오. 나타나는 구성 요소 목록에서 Windows 하위 시스템 for Linux (Beta) 옵션을 선택하십시오. 그런 다음 확인을 클릭하고 Windows가 추가 구성 요소를 설치하는 동안 기다리십시오. 이 과정은 몇 분 정도 소요될 수 있습니다.
새로운 구성 요소가 올바르게 구성되었는지 확인하려면 컴퓨터를 다시 시작하라는 메시지가 나타납니다. 재부팅하지 않으면 제대로 작동하지 않을 수 있습니다.
컴퓨터가 다시 부팅되면 명령 프롬프트를 열고 다음을 입력하십시오:
- bash
Windows 스토어에서 Bash를 설치하라는 메시지가 나타납니다. 이는 몇 분 정도 소요되는 무료 다운로드 및 압축 해제입니다.
OutputThis will install Ubuntu on Windows, distributed by Canonical
and licensed under its terms available here:
https://aka.ms/uowterms
Press "y" to continue: y
Downloading from the Windows Store... 100%
Extracting filesystem, this will take a few minutes....
설치 프로그램이 완료되면 사용자를 생성하라는 메시지가 표시됩니다.
OutputPlease create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms.wslusers
Enter new UNIX username: Sammy
Enter new UNIX password:
사용할 사용자 이름을 입력하고 ENTER
를 누르고 비밀번호를 입력하십시오. 비밀번호를 입력할 때 키 입력이 터미널 창에 표시되지 않습니다. 이는 보안 조치로서 명령 줄에서 비밀번호를 요청 받을 때 자주 볼 수 있는 것입니다. 그러나 키 입력은 시스템에 기록되므로 비밀번호를 입력한 후 ENTER
키를 누르고 프로세스를 계속하십시오.
마지막으로, Bash가 시작되고 기계 이름이 표시됩니다.
sammy@yourmachine:/mnt/c/Users/Sammy$
경고: Windows용 Linux 하위 시스템에는 자체 파일 시스템이 있으며, 이는 작업 중인 운영 체제에 숨겨진 파일로 저장됩니다. Microsoft는 이 파일 시스템을 모든 Windows 애플리케이션에서 접근하는 것을 지원하지 않습니다.
그러나 모든 기존 파일은 Bash 셸에서 액세스할 수 있습니다. 예를 들어, C:
드라이브의 내용은 /mnt/c
디렉터리에 있습니다. Microsoft는 이 폴더에서 파일을 작업하는 것을 권장합니다. 이렇게 하면 기존의 Windows 도구를 사용하여 파일을 열고 수정할 수 있으며, 여전히 Bash 셸에서 액세스할 수 있습니다.
Windows 프로그램(텍스트 편집기, 파일 관리자, IDE 등)에서 Linux 하위 시스템의 다른 부분에 있는 파일에 액세스하려고 시도하면 데이터 손상이 발생할 수 있으며 지원되지 않습니다.
이제 Bash가 설치되어 실행되었으므로 Ruby 및 해당 종속성을 설치하는 데 사용할 RVM을 설치합시다.
단계 2 — RVM 및 루비 설치
RVM은 Ubuntu 또는 macOS 시스템에 루비 환경을 설정하는 프로세스를 자동화하며, 실행 중인 Bash 설정이 Ubuntu를 기반으로 하기 때문에 Windows에도 가장 빠르게 설정하는 방법입니다. 루비를 설치할 수 있도록 RVM을 설치해 봅시다.
RVM과 함께 루비를 가장 빠르게 설치하는 방법은 RVM 웹 사이트에 호스팅된 설치 스크립트를 실행하는 것입니다.
먼저, 공개 키 서버에 연락하고 RVM 프로젝트의 키를 요청하여 각 RVM 릴리스에 서명하는 데 사용되는 키를 가져와야 합니다. 이를 통해 다운로드할 RVM 릴리스의 정품을 확인할 수 있습니다.
- gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
다음으로, RVM의 설치 스크립트가 릴리스를 확인하는 데 해당 구성 요소를 사용할 것이므로 gnupg2
패키지를 설치하세요. 이 패키지를 설치하려면 다음 명령을 실행하세요:
- sudo apt-get install gnupg2
비밀번호를 입력하라는 프롬프트가 표시되며, Bash를 설치할 때 Linux 사용자에게 사용한 비밀번호를 입력해야 합니다. 그러나 비밀번호를 입력할 때 터미널 창에 키가 표시되지 않습니다. 이것은 보안 조치이며 명령 줄에서 비밀번호를 입력하라는 프롬프트가 나타날 때 자주 볼 수 있는 것입니다. 보이지 않더라도 시스템에 의해 키가 기록되므로 비밀번호를 입력한 후에는 키를 입력한 후 ENTER
키를 누르면 프로세스가 계속됩니다.
다음은 프로젝트 웹 사이트에서 RVM 설치 스크립트를 다운로드하기 위한 curl
명령을 사용합니다. 명령을 선행하는 역슬래시는 우리가 일반적인 curl 명령을 사용하고 있으며 변경된 또는 별칭이 적용된 버전이 아님을 보장합니다.
- \curl -sSL https://get.rvm.io -o rvm.sh
이제 curl
명령과 관련된 플래그를 살펴보겠습니다:
-
-s
또는--silent
플래그는curl
이 진행률 미터를 표시하지 않도록합니다. -
-S
또는--show-error
플래그는curl
이 실패하면 오류 메시지를 표시하도록합니다. -
-L
또는--location
플래그는curl
에게 리디렉션을 처리하도록 지시합니다. 서버가 요청한 페이지가 다른 위치로 이동했다고 보고하면 자동으로 새 위치를 사용하여 요청을 다시 실행합니다.
다운로드가 완료되면 스크립트 내용을 적용하기 전에 확인하려면 다음 명령을 실행하십시오:
- less rvm.sh
파일을 스크롤하려면 화살표 키를 사용하십시오. q
키를 사용하여 나가서 프롬프트로 돌아갑니다.
스크립트 내용에 만족하면 다음 명령을 실행하여 RVM의 최신 안정 버전을 설치하십시오:
- cat rvm.sh | bash -s stable
이 스크립트는 Linux 사용자의 홈 디렉토리에 .rvm
이라는 새 디렉토리를 생성합니다. 여기에는 Ruby 및 관련 구성 요소뿐만 아니라 Ruby를 설치하는 데 사용되는 rvm
실행 가능 프로그램이 설치됩니다. 설치 프로세스는 .bashrc
파일을 수정하여 .rvm/bin
폴더를 PATH
환경 변수에 추가하여 rvm
명령을 쉽게 실행할 수 있도록합니다.
그러나 현재 세션에서 rvm
명령을 사용할 수 없습니다. 이를 해결하려면 다음 명령을 실행하십시오:
- source ~/.rvm/scripts/rvm
이제 rvm
명령을 사용하여 최신 버전의 Ruby를 설치하십시오:
- rvm install ruby --default
이 프로세스는 Ruby와 그 구성 요소를 다운로드하고 설치하며, 시스템이 사용할 이 버전의 Ruby를 기본 버전으로 설정합니다. 이미 Ruby 버전이 설치되어 있는 경우 충돌을 피할 수 있습니다.
OutputSearching for binary rubies, this might take some time.
Found remote file https://rvm_io.global.ssl.fastly.net/binaries/ubuntu/16.04/x86_64/ruby-2.4.0.tar.bz2
중요한 전제 조건이 누락된 경우 설치 프로그램이 해당 전제 조건을 가져오고 설치합니다:
OutputChecking requirements for ubuntu.
Installing requirements for ubuntu.
Updating system....
Installing required packages: gawk, libssl-dev, zlib1g-dev, libyaml-dev, libsqlite3-dev, sqlite3, autoconf, libgmp-dev, libgdbm-dev, libncurses5-dev, automake, libtool, bison, libffi-dev, libgmp-dev, libreadline6-dev..................
Requirements installation successful.
설치 스크립트는 비밀번호를 요청할 수 있으며, Bash를 설치할 때 Linux 사용자용으로 생성한 비밀번호를 사용해야 합니다.
전제 조건이 충족되면 RVM이 Ruby를 다운로드하고 설치합니다:
Outputruby-2.4.0 - #configure
ruby-2.4.0 - #download
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 16.4M 100 16.4M 0 0 4828k 0 0:00:03 0:00:03 --:--:-- 4829k
ruby-2.4.0 - #validate archive
ruby-2.4.0 - #extract
ruby-2.4.0 - #validate binary
ruby-2.4.0 - #setup
ruby-2.4.0 - #gemset created /home/brian/.rvm/gems/ruby-2.4.0@global
ruby-2.4.0 - #importing gemset /home/brian/.rvm/gemsets/global.gems..............................
ruby-2.4.0 - #generating global wrappers........
ruby-2.4.0 - #gemset created /home/brian/.rvm/gems/ruby-2.4.0
ruby-2.4.0 - #importing gemsetfile /home/brian/.rvm/gemsets/default.gems evaluated to empty gem list
ruby-2.4.0 - #generating default wrappers........
스크립트가 완료되면 가장 최근 버전의 Ruby가 설치됩니다.
또한 Ruby 외에도 RVM은 몇 가지 관련 도구를 설치합니다. 이 도구에는 대화형 Ruby 콘솔인 irb
, 자동화 스크립트를 실행할 수 있는 프로그램인 rake
, 그리고 자신의 프로젝트에서 사용할 수 있는 Ruby 라이브러리를 쉽게 설치하고 업데이트할 수 있도록 하는 gem
이 포함됩니다.
설치한 Ruby의 버전을 확인하려면 다음 명령을 입력하십시오:
- ruby -v
이렇게 하면 설치한 Ruby의 특정 버전이 출력됩니다:
Outputruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-linux]
RVM이 각각의 새로운 Bash 세션을 열 때마다 자동으로 해당 Ruby 버전을 사용하도록 하려면 Bash를 로그인 셸로 시작해야 합니다. RVM은 .bash_profile
파일을 수정하므로 이 파일은 로그인 셸에서만 호출됩니다. Bash for Windows 바로 가기는 로그인 셸을 시작하지 않으므로 Ruby를 사용할 경우 새로운 명령 프롬프트를 열고 bash -l
로 Bash를 시작하십시오.
잊어버렸다면 Bash를 시작할 때마다 다음 명령을 실행하십시오: source ~/.rvm/scripts/rvm
이제 Ruby가 설치되었으니 모든 것이 제대로 작동하는지 확인하는 프로그램을 작성해 보겠습니다.
단계 3 — 간단한 프로그램 생성
“Hello, World” 프로그램을 만들어 보겠습니다. 이는 환경이 제대로 작동하고 Ruby 프로그램을 만들고 실행하는 데 익숙해지도록 할 것입니다.
이를 위해 nano
를 사용하여 hello.rb
라는 새 파일을 만들어 보십시오:
- nano hello.rb
에디터에 다음 프로그램을 입력하십시오:
puts "Hello, World!"
에디터를 종료하려면 CTRL+X
를 누르십시오. 파일을 저장하라는 메시지가 나오면 Y
를 누르십시오.
이제 프로그램을 실행하십시오:
- ruby hello.rb
프로그램이 실행되고 화면에 결과가 표시됩니다:
OutputHello, World!
이 작은 프로그램은 작동하는 개발 환경을 확인하는 데 사용됩니다. 이 환경을 사용하여 Ruby를 계속 탐험하고 더 크고 흥미로운 프로젝트를 만들 수 있습니다.
결론
로컬 머신이 소프트웨어 개발 준비가 되면, 첫 번째 루비 프로그램 만들기 튜토리얼을 읽으면서 루비 코딩에 대해 더 배울 수 있습니다.