Ruby 환경 구축 4

소개



지난번은 Ruby, rubygems, Gem, bundler에 대해 정리했다. 드디어 rbenv(+ruby-build)를 사용하는 경우에 대해 정리한다.

개요



rbenv는 서버 안에서 여러 루비 버전 환경을 구축할 수 있도록 해준다. ruby-build는 rbenv 플러그인이며 rbenv 아래에서 실제로 ruby를 도입합니다.

디렉토리 구성 및 설치



디렉토리 구조



지금까지와는 ruby의 장소가 다르기 때문에, 다시 전체에 대해 1장 그림으로 한다.


설치


  • rbenv와 ruby-build의 배치(감색)git clone https://github.com/sstephenson/rbenv.git ~/.rbenv 명령으로 rbenv 파일 세트를 배치하십시오. git clone 그래서 어디까지나 배치할 뿐이다. ruby-build도 마찬가지로 git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build 명령으로 배치한다.
  • .bash_profile 설정(파란색)rbenv 명령은 rvenb/bin/에 있지만 여기에는 경로가 없습니다. 따라서 echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile. 명령을 실행하여 로그인시 매번 경로를 통과시킵니다. 아울러, echo 'eval "$(rbenv init -)"' >> ~/.bash_profile 커멘드로 rbenv init - 의 실행 결과도 .bash_profile에 기입한다. 'rbenv init -'에 대해서는, 내용이 조금 어렵기 때문에 여기에서는 할애한다. (versions 폴더도 생성됩니다.)
    .bash_profile을 설정하고 나면 exec $SHELL --login로 다시 로그인하고 .bash_profile을 실행하십시오. 'rbenv --version'에서 경로가 올바르게 통과했는지 확인합니다.
  • 루비 설치(녹색)rbenv install --list로 설치할 수있는 Ruby 버전 목록을 표시하고 rbenv install -v 2.6.0와 버전을 지정하고 설치합니다. 설치 후 rbenv versions를 실행하여 설치된 ruby를 확인하십시오. 이번에는 2.6.0과 2.4.0을 설치했다.
    설치 후 rbenv rehash 명령을 실행합니다. 이것도 어렵기 때문에 할애하지만, Ruby의 버전을 설치했을 때, 커멘드가 있는 gem을 도입했을 때는 반드시 실시할 필요가 있다.
    htps : // 기주 b. m / r ben v / r ben v # r ben v - sh

  • 디렉토리에서 사용할 루비 설정(노란색)
    디렉토리에 사용할 ruby ​​버전을 설정합니다. 먼저 rbenv global 2.6.0 명령으로 global ruby ​​버전을 설정합니다. 이것을 설정하면, 디렉토리에 ruby ​​버전이 설정되어 있지 않은 경우에 이용되는 ruby의 버전을 지정할 수 있다. 구체적으로는 .rbenv/하부에 version 파일이 생기고 거기에 버전이 기록된다.

    한편, 특정의 디렉토리에 버젼을 설정하는 경우는, 설정하는 디렉토리로 이동해, rbenv local 2.4.0 커멘드로 설정한다. 설정하면 디렉토리에 .ruby-version이 만들어지고 거기에 버전이 기록됩니다.
  • 확인
    마지막으로, 제대로 설정되어 있는지 확인한다. 확인은 각 Ruby 응용 프로그램 디렉토리에서 수행됩니다. 먼저 rbenv versions 에서 디렉토리에서 사용되는 ruby의 버전을 확인한다. 그런 다음 ruby -v, gem -v, bundle -v (bundler의 경우 루비 버전에 따라 포함되어 있지 않은 것이 있습니다.)

  • RubyAPP1/의 경우
    [ec2-user@ip-10-0-1-14 ~]$ cd RubyAPP1
    [ec2-user@ip-10-0-1-14 RubyAPP1]$ rbenv versions
    2.4.0
    - 2.6.0 (set by /home/ec2-user/.rbenv/version)
    [ec2-user@ip-10-0-1-14 RubyAPP1]$ ruby -v
    ruby 2.6.0p0 (2018-12-25 revision 66547) [x86_64-linux][ec2-user@ip-10-0-1-14 RubyAPP1]$ gem -v
    3.0.1
    [ec2-user@ip-10-0-1-14 RubyAPP1]$ bundle -v
    Bundler version 1.17.2
    

  • RubyAPP2/의 경우
    [ec2-user@ip-10-0-1-14 RubyAPP2]$ rbenv versions
    * 2.4.0 (set by /home/ec2-user/RubyAPP2/.ruby-version)
    2.6.0
    [ec2-user@ip-10-0-1-14 RubyAPP2]$ ruby -v
    ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-linux]
    [ec2-user@ip-10-0-1-14 RubyAPP2]$ gem -v
    2.6.8
    [ec2-user@ip-10-0-1-14 RubyAPP2]$ bundle -v
    rbenv: bundle: command not found
    The `bundle' command exists in these Ruby versions:
    2.6.0
    

  • 요약



    rbenv에 의해, 어플리케이션 단위로 ruby,rubygems,bundler,gem을 알기 쉽게 관리할 수 있다. Ruby는 버전간의 호환성이 낮은 프로그램 언어이기 때문에, 이런 형태가 된 것 같다. rbenv의 init와 rehash를 읽으면 거의 거의 클리어되지만, 그것은 또 다른 기회로 만든다.

    좋은 웹페이지 즐겨찾기