웹사이트 검색

Ubuntu 20.04에서 rbenv로 Ruby on Rails를 설치하는 방법


소개

Ruby on Rails는 사이트 및 웹 앱을 만들려는 개발자에게 가장 인기 있는 애플리케이션 스택 중 하나입니다. Rails 개발 프레임워크와 결합된 Ruby 프로그래밍 언어를 사용하면 확장 가능한 앱을 빠르게 구축하고 배포할 수 있습니다.

명령줄 도구 rbenv를 사용하여 Ruby 및 Rails를 설치할 수 있습니다. rbenv를 사용하면 Ruby on Rails 애플리케이션을 개발하기 위한 견고한 환경을 제공하고 Ruby 버전 간에 전환할 수 있으므로 전체 팀이 동일한 버전을 유지할 수 있습니다. rbenv는 Ruby의 애플리케이션별 버전 지정을 지원하고, 각 사용자에 대한 전역 Ruby를 변경할 수 있도록 하며, 환경 변수를 사용하여 Ruby 버전을 재정의하는 옵션을 제공합니다.

이 튜토리얼에서는 rbenvgem을 사용하여 Ruby 및 Rails 설치 프로세스를 안내합니다. 먼저 적절한 패키지를 설치하여 rbenv를 설치한 다음 Ruby를 설치합니다. 그런 다음 사용 가능한 버전의 Ruby를 설치할 수 있도록 ruby-build 플러그인을 설치합니다. 마지막으로 gem을 사용하여 Rails를 설치한 다음 Ruby on Rails를 사용하여 웹 개발을 시작할 수 있습니다. 또한 rbenv 버전이 최신인지 확인하는 방법과 Ruby 버전 및 rbenv를 제거하는 방법에 대한 단계도 제공합니다.

전제 조건

이 자습서를 따르려면 다음이 필요합니다.

  • 루트가 아닌 sudo 사용자 및 방화벽을 포함하여 Ubuntu 20.04 초기 서버 설정 가이드에 따라 설정된 Ubuntu 20.04 서버 1대
  • Ubuntu 20.04에 Node.js를 설치하는 방법의 옵션 2에 설명된 대로 공식 PPA를 사용하여 Node.js를 설치했습니다. 자산 파이프라인과 같은 일부 Rails 기능은 JavaScript 런타임에 의존합니다. Node.js는 이 기능을 제공합니다.

1단계 – rbenv 및 종속성 설치

Ruby는 패키지 관리자를 통해 설치할 수 있는 여러 패키지에 의존합니다. 설치가 완료되면 rbenv를 설치하고 이를 사용하여 Ruby를 설치할 수 있습니다.

먼저 패키지 목록을 업데이트합니다.

  1. sudo apt update

다음으로 Ruby를 설치하는 데 필요한 종속 항목을 설치합니다.

  1. sudo apt install git curl libssl-dev libreadline-dev zlib1g-dev autoconf bison build-essential libyaml-dev libreadline-dev libncurses5-dev libffi-dev libgdbm-dev

종속성을 설치한 후 rbenv 자체를 설치할 수 있습니다. curl을 사용하여 Github에서 설치 스크립트를 가져오고 bash로 직접 파이프하여 설치 프로그램을 실행합니다.

  1. curl -fsSL https://github.com/rbenv/rbenv-installer/raw/HEAD/bin/rbenv-installer | bash

다음으로 ~/.rbenv/binPATH에 추가하여 rbenv 명령줄 유틸리티를 사용할 수 있도록 합니다. 향후 로그인 세션에 영향을 미치도록 ~/.bashrc 파일을 변경하여 이를 수행하십시오.

  1. echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc

그런 다음 eval \&#36 (rbenv init -)\ 명령을 ~/.bashrc 파일에 추가하여 rbenv가 자동으로 로드되도록 합니다.

  1. echo 'eval "$(rbenv init -)"' >> ~/.bashrc

다음으로 ~/.bashrc 파일에 대한 변경 사항을 현재 셸 세션에 적용합니다.

  1. source ~/.bashrc

rbenv 명령에 대한 자세한 정보를 표시하는 type 명령을 실행하여 rbenv가 제대로 설정되었는지 확인합니다.

  1. type rbenv

터미널 창에 다음이 표시됩니다.

Output
rbenv is a function rbenv () { local command; command="${1:-}"; if [ "$#" -gt 0 ]; then shift; fi; case "$command" in rehash | shell) eval "$(rbenv "sh-$command" "$@")" ;; *) command rbenv "$command" "$@" ;; esac }

이제 rbenv와 ruby-build가 모두 설치되었습니다. 다음으로 루비를 설치해 봅시다.

2단계 – ruby-build로 Ruby 설치

이제 ruby-build 플러그인이 설치되었으므로 단일 명령으로 필요한 모든 버전의 Ruby를 설치할 수 있습니다. 먼저 사용 가능한 모든 버전의 Ruby를 나열합니다.

  1. rbenv install -l

해당 명령의 출력은 설치하도록 선택할 수 있는 버전 목록입니다.

Output
2.6.8 2.7.4 3.0.2 jruby-9.2.19.0 mruby-3.0.0 rbx-5.0 truffleruby-21.2.0.1 truffleruby+graalvm-21.2.0 Only latest stable releases for each Ruby implementation are shown. Use 'rbenv install --list-all / -L' to show all local versions.

이제 Ruby 2.7.6을 설치하겠습니다.

  1. rbenv install 2.7.6

Ruby 설치는 시간이 오래 걸릴 수 있으므로 설치를 완료하는 데 시간이 걸릴 수 있도록 준비하십시오.

설치가 완료되면 global 하위 명령을 사용하여 Ruby의 기본 버전으로 설정합니다.

  1. rbenv global 2.7.6

버전 번호를 확인하여 Ruby가 제대로 설치되었는지 확인합니다.

  1. ruby -v

Ruby 버전 2.7.6을 설치한 경우 이 명령은 다음과 같은 출력을 반환합니다.

Output
ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x86_64-linux]

이제 적어도 하나의 Ruby 버전이 설치되었고 기본 Ruby 버전이 설정되었습니다. 다음으로 gem과 Rails를 설정합니다.

3단계 – 보석 작업

Gems는 Ruby 라이브러리가 배포되는 방식입니다. gem 명령을 사용하여 이러한 gem을 관리하고 이 명령을 사용하여 Rails를 설치합니다.

gem을 설치할 때 설치 프로세스는 로컬 문서를 생성합니다. 이렇게 하면 각 gem의 설치 프로세스에 상당한 시간이 추가될 수 있으므로 이 기능을 해제하는 구성 설정이 포함된 ~/.gemrc라는 파일을 생성하여 로컬 문서 생성을 해제합니다.

  1. echo "gem: --no-document" > ~/.gemrc

Bundler는 프로젝트의 gem 종속성을 관리하는 도구입니다. Rails가 Bundler gem에 의존하므로 다음으로 Bundler gem을 설치합니다.

  1. gem install bundler

다음과 같은 결과가 표시됩니다.

Output
Fetching bundler-2.2.27.gem Successfully installed bundler-2.2.27 1 gem installed

gem env 명령(하위 명령 envenvironment의 약어임)을 사용하여 gem의 환경 및 구성에 대해 자세히 알아볼 수 있습니다. 다음과 같이 home 인수를 사용하여 gem이 설치되는 위치를 확인할 수 있습니다.

  1. gem env home

다음과 유사한 출력이 표시됩니다.

Output
/home/sammy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0

gem이 설정되면 Rails를 설치할 수 있습니다.

4단계 – 레일 설치

Rails를 설치하려면 -v 플래그와 함께 gem install 명령을 사용하여 버전을 지정하십시오. 이 자습서에서는 6.1.4.1 버전을 사용합니다.

  1. gem install rails -v 6.1.4.1

gem 명령은 지정한 gem과 종속 항목을 설치합니다. Rails는 복잡한 웹 개발 프레임워크이며 많은 종속성이 있으므로 프로세스를 완료하는 데 시간이 걸립니다. 결국 Rails가 설치되었다는 메시지와 종속 항목을 받게 됩니다.

Output
... Successfully installed rails-6.1.4.1 37 gems installed

참고: 다른 버전의 Rails를 설치하려는 경우 검색을 수행하여 유효한 버전의 Rails를 나열하면 가능한 버전 목록이 출력됩니다. 그런 다음 4.2.7과 같은 특정 버전을 설치할 수 있습니다.

  1. gem search '^rails$' --all
  2. gem install rails -v 4.2.7

최신 버전의 Rails를 설치하려면 버전을 지정하지 않고 명령을 실행하십시오.

  1. gem install rails

rbenv는 현재 활성화된 Ruby 버전에서 사용하는 파일을 가리키는 shims 디렉토리를 생성하여 작동합니다. rehash 하위 명령을 통해 rbenv는 서버에 설치된 모든 Ruby 버전에서 모든 Ruby 명령과 일치하도록 해당 디렉토리의 shim을 유지합니다. 새 버전의 Ruby 또는 Rails와 같은 명령을 제공하는 gem을 설치할 때마다 다음을 실행해야 합니다.

  1. rbenv rehash

다음 명령으로 해당 버전을 인쇄하여 Rails가 제대로 설치되었는지 확인하십시오.

  1. rails -v

올바르게 설치된 경우 이 명령은 설치된 Rails 버전을 반환합니다.

Output
Rails 6.1.4.1

이 시점에서 Ruby on Rails 설치 테스트를 시작하고 웹 애플리케이션 개발을 시작할 수 있습니다. 이제 rbenv를 최신 상태로 유지하는 방법을 살펴보겠습니다.

5단계 – rbenv 업데이트

Git을 사용하여 rbenv를 수동으로 설치했으므로 ~/.rbenv 디렉토리에서 git pull 명령을 사용하여 언제든지 최신 버전으로 설치를 업그레이드할 수 있습니다.

  1. cd ~/.rbenv
  2. git pull

이렇게 하면 사용 가능한 최신 버전의 rbenv를 사용하고 있는지 확인할 수 있습니다.

6단계 - Ruby 버전 제거

Ruby의 추가 버전을 다운로드하면 ~/.rbenv/versions 디렉토리에 원하는 것보다 더 많은 버전이 누적될 수 있습니다. 이러한 이전 버전을 제거하려면 ruby-build 플러그인의 uninstall 하위 명령을 사용하십시오.

다음 명령은 Ruby 버전 2.7.6을 제거합니다.

  1. rbenv uninstall 2.7.6

rbenv uninstall 명령을 사용하면 현재 사용 중인 것보다 더 많이 설치되지 않도록 이전 버전의 Ruby를 정리할 수 있습니다.

7단계 – rbenv 제거

더 이상 rbenv를 사용하지 않기로 결정했다면 시스템에서 rbenv를 제거할 수 있습니다.

이렇게 하려면 먼저 편집기에서 ~/.bashrc 파일을 엽니다. 이 예에서는 nano를 사용합니다.

  1. nano ~/.bashrc

파일에서 다음 두 줄을 찾아 제거합니다.

...
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"

이 줄을 제거한 후 파일을 저장하고 편집기를 종료하십시오. nano를 사용한 경우 CTRL + X를 누른 다음 YENTER를 눌러 종료할 수 있습니다.

그런 다음 다음 명령을 사용하여 rbenv 및 설치된 모든 Ruby 버전을 제거합니다.

  1. rm -rf `rbenv root`

쉘에 변경 사항을 적용하려면 로그아웃했다가 다시 로그인하십시오.

결론

이 자습서에서는 전체 Ruby on Rails 프레임워크를 설치하기 위해 rbenvgem을 설치했습니다. 여기에서 웹 개발 애플리케이션 프로젝트 생성을 시작할 수 있습니다. 이러한 환경을 더욱 견고하게 만드는 방법에 대해 자세히 알아보려면 How To Code In Ruby 시리즈를 확인하십시오.