Ruby GEM_HOME 및 GEM_PATH를 설정하는 방법

Ruby GEM_HOME 및 GEM_PATH를 설정하는 방법

저는 새로운 Linux 사용자이고 Linux mint 17.1을 사용하고 있습니다.

이 문제를 해결하기 위해 지난 3일 동안 Linux Mint를 20번이나 다시 설치했지만 고칠 수 없습니다.

rvm을 사용하여 Ruby on Rails를 설치하려고 합니다. 새 Linux 설치를 시작하고 터미널 세션에 gem과 Ruby 등을 설치하려고 하면 터미널 세션을 닫으면 성공적으로 설치됩니다. 하지만 난 이 보석들을 얻을 수 없어.

지난 3일 동안 20번 이상 재설치를 했고 온라인으로 검색도 해봤습니다. /etc/environment해당 세션의 에코 경로 에 환경 변수를 넣고 /etc/environment파일 에 붙여 넣으라는 지시를 받았습니다 .

지금도 설치된 보석을 받지 못합니다.

입력하면 rvm -v다음 오류가 발생합니다.

Warning: PATH set to RVM ruby but GEM_HOME and/or GEM_PATH not set, see:
    https://github.com/wayneeseguin/rvm/issues/3212

Warning! PATH is not properly set up, $GEM_HOME is not set,
         usually this is caused by shell initialization files - check them for 'PATH=...' entries,
         it might also help to re-add RVM to your dotfiles: 'rvm get stable --auto-dotfiles',
         to fix temporarily in this shell session run: 'rvm use ruby-2.2.2'.
rvm 1.26.11 (latest) by Wayne E. Seguin <[email protected]>, Michal Papis <[email protected]> [https://rvm.io/]

저는 터미널 사용에 있어 매우 초보자이며 Ruby를 사용하기 위해 몇 가지 기본 명령을 실행할 수 있습니다.

나는 알고 싶다

  1. 경로 설정 방법
  2. GEM_HOME 설정 방법
  3. GEM_PATH 설정 방법

아래는 내 전체 경로입니다.

echo $PATH
/home/sharif/.rvm/gems/ruby-2.2.2/bin:/home/sharif/.rvm/gems/ruby-2.2.2@global/bin:/home/sharif/.rvm/rubies/ruby-2.2.2/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/sharif/.rvm/bin

답변1

export명령으로 환경 변수를 설정 하려는 것 같습니다 .

export PATH=$PATH':/path/to/add'
export GEM_HOME=$HOME/.gem
export GEM_PATH=$HOME/.gem

그러나 이는 현재 세션에만 적용됩니다. 보다 영구적으로 만들려면 다음 줄을 ~/.bashrc.

답변2

일반적으로 이는 rvm이 올바르게 설정되지 않았음을 의미합니다. 일반적인 오류는 .bashrc올바르게(또는 유사하게) 수정하지 않았거나 터미널을 다시 로드하지 않은 것입니다.

rvm을 사용할 때 GEM_HOME 또는 GEM_PATH를 수동으로 설정하면 안 됩니다.

시도해 source ~/.rvm/scripts/rvm보고 작동하는지 확인할 수 있습니다.

아직 보석 세트를 만들지 않았을 수도 있습니다. rvm 및 sudo를 사용하지 마십시오. Rvm은 시스템 전체가 아닌 계정에 설치할 때 가장 잘 작동합니다.

답변3

다음은 제가 배운 내용과 GEM_HOME 및 GEM_PATH 환경 변수가 설정되지 않음 오류라는 일반적인 문제를 해결하는 방법입니다.


배경

RVM 설치에서는 각 RVM 설치에 대해 GEM_HOME 및 GEM_PATH 환경 변수를 생성해야 하며 그렇게 됩니다. 그러나 어떤 경우에는 환경 변수가 일시적으로만 설정되고 다시 설정하려면 명령줄을 사용하여 설정해야 하는 버그가 있는 것 같습니다. RVM에서 환경 변수를 지속성으로 만드는 해결 방법을 찾았습니다.

해결책

  1. 활성(RVM에서) Ruby 버전을 찾으세요.프로덕션 서버에서 애플리케이션 디렉터리로 이동하여 를 입력하면 $rvm list설치된 Ruby 버전 목록과 RVM에 활성화된 버전이 생성됩니다. 응답 예:

    rvm rubies ruby-1.9.3-p547 [ x86_64 ] => ruby-1.9.3-p551 [ x86_64 ]

따라서 현재 RVM이 사용하고 있는 버전을 알고 있습니다 ruby-1.9.3-p551. 다음 단계로 진행하려면 이 정보가 필요합니다.

  1. GEM_PATH 및 GEM_HOME의 경로를 가져옵니다.: 명령줄에서 실행하여 이 작업을 수행할 수 있습니다 $rvm use ruby-1.9.3-p551. 그런 다음 명령줄에서 명령을 사용하여 모든 환경 설정을 표시합니다 env. GEM_PATH 및 GEM_HOME을 검색하여 둘 다 작업 공간에 복사합니다.

    GEM_PATH=/usr/local/rvm/gems/ruby-1.9.3-p551:/usr/local/rvm/gems/ruby-1.9.3-p551@global GEM_HOME=/usr/local/rvm/gems/ruby-1.9.3-p551

  2. GEM_HOME 및 GEM_PATH 환경 변수를 설정합니다.이제 많은 구성 파일 중 하나에서 이러한 환경 변수를 설정하십시오. RVM 버전 격리 구조를 유지하고 싶었기 때문에 /profile.d/appspecic.sh를 다음 두 줄로 업데이트했습니다.

    export GEM_PATH=/usr/local/rvm/gems/ruby-1.9.3-p551:/usr/local/rvm/gems/ruby-1.9.3-p551@global export GEM_HOME=/usr/local/rvm/gems/ruby-1.9.3-p551

답변4

언급한 @coteyr처럼 수동으로 설정하면 안 됩니다.GEM_HOME그리고보석 경로그것을 사용할 때 rvm. $HOME/.rvm/bin을 실행하여 PATH 환경 변수를 확인 $ echo $PATH하고 해당 변수의 일부인 경우 터미널이 명령을 로그인 셸로 실행하고 있는지 확인해야 합니다. 예를 들어 Ubuntu 컴퓨터를 사용하는 경우 터미널을 열고 다음으로 이동합니다.메뉴 > 편집 > 프로필 기본 설정 > 명령그런 다음 "로그인 쉘로 명령 실행"을 선택하십시오.

이건 오래된 문제인 것 같고, rvm생긴 지 꽤 되어서 고치기가 쉽지 않을 것 같아요.

관련 정보