Ubuntu 18.04에서 rbenv를 사용하여 Ruby-on-Rails를 설치하는 방법

Ubuntu 18.04에서 rbenv를 사용하여 Ruby-on-Rails를 설치하는 방법

2022-06-01 last update

12 minutes reading Ruby on Rails Ruby Ubuntu 18.04

소개


Ruby on Rails는 사이트와 웹 응용 프로그램을 만들고자 하는 개발자들이 가장 자주 사용하는 응용 프로그램 창고 중 하나이다.Ruby 프로그래밍 언어는 Rails 개발 프레임워크와 결합하여 응용 프로그램 개발을 간단하게 합니다.
명령줄 도구rbenv를 사용하여 Ruby 및 Rails를 쉽게 설치할 수 있습니다.rbenv를 사용하면 Ruby on Rails 응용 프로그램을 개발하는 데 튼튼한 환경을 제공할 것입니다. Ruby 버전을 쉽게 전환할 수 있고 팀 전체가 같은 버전을 유지할 수 있기 때문입니다.
rbenv는 응용 프로그램에 지정된 루비 버전을 지원합니다. 사용자마다 전역 루비를 변경할 수 있고 환경 변수를 사용하여 루비 버전을 덮어쓸 수 있습니다.
이 자습서는 rbenv를 통해 Ruby 및 Rails 설치 프로세스를 안내합니다.

선결 조건


본 강좌를 배우려면 다음이 필요합니다.
  • Ubuntu 18.04 서버는 다음과 같은 인원the Ubuntu 18.04 initial server setup guide에 의해 설정되며, sudo 비root 사용자와 방화벽을 포함한다.
  • 노드.js는 공식 PPA 설치를 사용합니다How To Install Node.js on Ubuntu 18.04.Rails의 일부 특성(예: 자산 파이핑)은 JavaScript가 실행될 때 사용됩니다.노드js는 이 기능을 제공했다.
  • 1단계 – rbenv 및 종속 항목 설치


    Ruby는 패키지 관리자를 통해 설치할 수 있는 여러 개의 패키지에 의존합니다.이 모든 것이 설치되면 rbenv를 설치하고 루비를 설치할 수 있습니다.
    먼저 패키지 목록을 업데이트합니다.
    1. sudo apt update
    다음으로 Ruby 설치에 필요한 종속성:
    1. sudo apt install autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm5 libgdbm-dev
    의존항을 다운로드하면 rbenv 자체를 설치할 수 있습니다.GitHub에서 디렉토리로 rbenv 저장소 복제하기~/.rbenv:
    1. git clone https://github.com/rbenv/rbenv.git ~/.rbenv
    다음은 ~/.rbenv/bin 명령행 유틸리티를 사용할 수 있도록 $PATHrbenv 을 추가합니다.이를 위해 파일~/.bashrc을 변경하여 향후 로그인 세션에 영향을 미칩니다.
    1. echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
    그리고 rbenv가 자동으로 불러올 수 있도록 명령eval "$(rbenv init -)"~/.bashrc 파일에 추가합니다.
    1. echo 'eval "$(rbenv init -)"' >> ~/.bashrc
    다음은 ~/.bashrc 파일에 대한 변경 사항을 현재 셸 세션에 적용합니다.
    1. source ~/.bashrc
    type 명령을 사용하여 rbenv 설정이 올바른지 확인하면 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" "[email protected]")" ;; *) command rbenv "$command" "[email protected]" ;; esac }
    다음은 [ruby 구축](https://github.com/rbenv/ruby-build, 플러그인을 설치합니다.이 플러그인은 rbenv install 명령을 추가하여 Ruby 새 버전의 설치 절차를 간소화합니다.
    1. git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
    rbenv와rubybuild를 설치했습니다.Ruby를 설치합니다.

    2단계 – Ruby build를 사용하여 Ruby 설치


    현재 ruby-build 플러그인이 설치되어 있으며, 간단한 명령을 통해 필요한 Ruby y 버전을 설치할 수 있습니다.먼저 Ruby의 사용 가능한 모든 버전을 나열합니다.
    1. rbenv install -l
    이 명령의 출력은 설치할 버전을 선택할 수 있는 긴 줄로 되어 있어야 합니다.
    Ruby 2.5.1을 설치합니다.
    1. rbenv install 2.5.1
    루비를 설치하는 것은 긴 과정일 수 있으므로 설치하는 데 시간이 좀 걸릴 수 있도록 준비하십시오.
    설치가 완료되면 global 하위 명령을 사용하여 루비의 기본 버전으로 설정합니다.
    1. rbenv global 2.5.1
    루비의 버전 번호를 확인하여 루비가 제대로 설치되어 있는지 확인합니다.
    1. ruby -v
    Ruby의 2.5.1 버전이 설치된 경우 위의 명령은 다음과 같이 출력됩니다.
    Output
    ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux]
    다른 버전의 Ruby를 설치하고 사용하려면 rbenvrbenv install 2.3.0 명령과 같이 다른 버전 번호를 사용하여 명령을 실행합니다.
    현재 최소 하나의 Ruby 버전이 설치되어 있으며 기본 Ruby 버전이 설정되어 있습니다.이제 gems와 Rails를 설정합니다.

    3단계 – Gems 사용


    Gems는 Ruby 라이브러리의 배포 방식입니다.rbenv global 2.3.0 명령을 사용하여 이gem를 관리할 수 있습니다.이 명령을 사용하여 Rails를 설치합니다.
    gem를 설치할 때, 설치 과정은 로컬 문서를 생성합니다.이것은 모든 gem의 설치 과정에 많은 시간을 증가시키기 때문에 gem라는 파일을 만들어서 로컬 문서 생성을 닫을 수 있습니다. 이 파일에는 이 기능을 닫는 설정 설정이 포함되어 있습니다.
    1. echo "gem: --no-document" > ~/.gemrc
    Bundler는 프로젝트를 관리하는gem 의존 관계의 도구이다.Bundler gem을 설치합니다.Rails가 의존하기 때문입니다.
    1. gem install bundler
    다음과 같은 출력이 표시됩니다.
    Output
    Fetching: bundler-1.16.2.gem (100%) Successfully installed bundler-1.16.2 1 gem installed
    ~/.gemrc 명령 (하위 명령 gem envenv 의 줄임말) 을 사용하여gems의 환경과 설정에 대한 정보를 더 많이 알 수 있습니다.다음과 같이 environment 매개변수를 사용하여 gems의 설치 위치를 볼 수 있습니다.
    1. gem env home
    다음과 같은 출력이 표시됩니다.
    /home/sammy/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0
    
    gems가 설정되면 Rails를 설치할 수 있습니다.

    4단계 – 레일 설치


    Rails를 설치하려면 home 명령 및 gem install 플래그를 사용하여 버전을 지정합니다.본 강좌의 경우 버전 -v 을 사용합니다.
    1. gem install rails -v 5.2.0
    5.2.0 명령은 지정한gem와 모든 의존항을 설치합니다.Rails는 복잡한 웹 개발 프레임워크로 많은 의존 항목을 가지고 있기 때문에 이 과정은 약간의 시간이 걸려야 완성할 수 있다.마지막으로, Rails가 설치되어 있고 해당 종속성에 대한 메시지가 표시됩니다.
    Output
    ... Successfully installed rails-5.2.0 38 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의 작업 원리는 현재 활성화된 루비 버전에 사용되는 파일을 가리키는 패드 디렉터리를 만드는 것입니다.gem 하위 명령을 통해 rbenv는 서버에 설치된 루비 버전마다 루비 명령과 일치하도록 이 디렉터리에 패드를 유지합니다.Ruby 버전이나 명령을 제공하는 gem(예: Rails)을 설치할 때마다 다음을 실행해야 합니다.
    1. rbenv rehash
    다음 명령을 사용하여 Rails 버전을 인쇄하여 Rails가 제대로 설치되었는지 확인합니다.
    1. rails -v
    설치가 올바르면 설치된 Rails 버전이 표시됩니다.
    Output
    Rails 5.2.0
    Ruby on Rails 설치를 테스트하고 웹 응용 프로그램 개발을 시작할 수 있습니다.rbenv를 어떻게 최신으로 유지하는지 봅시다.

    5단계 – rbenv 업데이트


    Git를 사용하여 rbenv를 수동으로 설치했기 때문에 언제든지 rehash 디렉토리의 git pull 명령을 사용하여 설치를 최신 버전으로 업그레이드할 수 있습니다.
    1. cd ~/.rbenv
    2. git pull
    이것은 우리가 사용할 수 있는 rbenv의 최신 버전을 확보할 것이다.

    6단계 – Ruby 버전 제거


    다른 버전의 루비를 다운로드하면 ~/.rbenv 디렉터리에 더 많은 버전이 저장될 수 있습니다.~/.rbenv/versions 플러그인의 ruby-build 하위 명령을 사용하여 이전 버전을 삭제합니다.
    예를 들어, 이 항목을 입력하면 Ruby 2.1.3 버전이 제거됩니다.
    1. rbenv uninstall 2.1.3
    uninstall 명령을 사용하면 Ruby의 이전 버전을 정리하여 설치 수량이 현재 사용 중인 수량을 초과하지 않도록 할 수 있습니다.

    7단계 – rbenv 제거


    rbenv를 더 이상 사용하지 않기로 결정하면 시스템에서 삭제할 수 있습니다.
    이 작업을 수행하려면 먼저 편집기에서 rbenv uninstall 파일을 엽니다.
    1. nano ~/.bashrc
    파일에서 다음 두 줄을 찾아 제거합니다.
    ~/.회사 명
    ...
    export PATH="$HOME/.rbenv/bin:$PATH"
    eval "$(rbenv init -)"
    
    파일을 저장하고 편집기를 종료합니다.
    다음 명령을 사용하여 rbenv 및 설치된 모든 Ruby 버전을 제거합니다.
     rm -rf `rbenv root`
    
    셸에 변경 사항을 적용하기 위해 로그아웃하고 다시 로그인합니다.

    결론


    이 강좌에는 ~/.bashrc 및 Ruby on Rails가 설치되어 있습니다.여기서 이러한 환경을 더욱 튼튼하게 하는 방법에 대한 더 많은 정보를 얻을 수 있습니다.
    기본 sqlite3 데이터베이스 대신 Ruby on Rails를 PostgreSQL 또는 MySQL 와 함께 사용하는 방법을 탐색합니다. 이 데이터베이스는 응용 프로그램에 더 큰 확장성, 집중성, 안정성을 제공합니다.수요가 증가함에 따라 당신은 또한 어떻게 배울 수 있습니다scale Ruby on Rails applications across multiple servers.