“경고! rvm use 2.0.0 --default를 수행 할 때 PATH가 제대로 설정되지 않았습니다.


115

위는 처음으로 작동하지 않고 두 번째로 작동합니다.

새 쉘 창에 대해 루비 버전을 2.0.0으로 설정하십시오.

하기

$ rvm use 2.0.0 --default

준다

Warning! PATH is not properly set up, '/home/durrantm/.rvm/gems/ruby-1.9.3-p125/
bin' is not at first place,
         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 --au
to-dotfiles',
         to fix temporarily in this shell session run: 'rvm use ruby-1.9.3-p125'
.
Using /home/durrantm/.rvm/gems/ruby-2.0.0-p247

그런 다음 똑같이

$ rvm use 2.0.0 --default

이제 오류가 없습니다.

$ rvm use 2.0.0 --default
Using /home/durrantm/.rvm/gems/ruby-2.0.0-p247
durrantm.../durrantm$ 

그러나 새 창은 여전히 ​​2.0.0이 아닌 루비 1.9.3을 제공합니다.

내 .bashrc파일에는 다음이 있습니다.

PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting
[[ -s "/home/durrantm/.rvm/scripts/rvm" ]] && . "/home/durrantm/.rvm/scripts/rvm"

내 .bash_profile에는 다음이 있습니다.

source ~/.profile
case $- in *i*) . ~/.bashrc;; esac

견딜 수 없는

rvm get stable

작동하는 것처럼 보이지만 많은 녹색 출력이 끝날 때 다음과 같이 표시됩니다.

Could not update RVM, get some help at #rvm IRC channel at freenode servers.

다음을 표시하는 새 터미널 창 rvm list rubies:

$ rvm list rubies
Warning! PATH is not properly set up, '/home/durrantm/.rvm/gems/ruby-1.9.3-p125/bin' is not at first place,
         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-1.9.3-p125'.

rvm rubies

=> ruby-1.9.3-p125 [ x86_64 ]
   ruby-1.9.3-p194 [ x86_64 ]
 * ruby-2.0.0-p247 [ x86_64 ]

# => - current
# =* - current && default
#  * - default

답변:


176

rvm을 제거한 후 멈췄습니다.

rvm implode

그런 다음 rvm을 다시 설치 한 후 동일한 오류 메시지를 받았습니다. wayne seguin의 git hub 페이지를 살펴본 후. 그는 자신의 페이지에 도구를 나열하고

rvm reset 

설치 후. 이것은 내 오류 메시지를 수정했습니다. PATH 편집이 필요하지 않습니다.


13
my ~/.bashrc,, ~/.bash_profilerunning rvm get stable --auto-dotfiles, re-checking , 및 여러 번 확인 ~/.bashrc하고 다시 확인한 후 ...이 답변이 마침내 해결되었습니다! Ran : 경고를 없앴습니다! (이럴 ... RVM이 방법은 내 길에 내가 뭘하는지 알고 내가 다른 첫번째 뭔가를 설정하면 ... 경로에 첫번째 것에 대해 너무 몹시 신경을 쓰는 것입니다)~/.bash_profile~/.profilervm reset
— TrinitronX

11
: tu :rvm reset
— JBird 2015

18
이것은 나를 위해 일했습니다! PATH 편집이 필요하지 않습니다. rvm reset(메시지가 마지막으로 표시됨) 이제 rvm 명령을 실행할 때마다 더 이상 PATH 경고가 표시되지 않습니다.
— JohnRDOrazio

1
rvm reset을 사용하면 rvm reset을 실행 한 터미널의 문제가 해결됩니다. 그러나 새 터미널로 이동할 때 rvm reset을 다시 실행하지 않으면 오류 / 경고가 지속됩니다
— Apurva Mayank

rvm help에 대한 매우 무서운 힌트를 반환합니다 rvm reset. 모든 기본 및 시스템 설정 제거 😄
— Muhamed Huseinbašić

171

대답은 다음과 같습니다.

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" 
# Load RVM into a shell session *as a function*

내 .bashrc 파일의 ** 하단 ** (마지막 줄-중요!) 내 .bash_profile 파일 (우분투에 있음)에 있었고 부분적으로 만 작동하여 혼란스러운 오류가 발생했습니다.


1
RVM이 체인의 맨 위에 있기를 원하면 맨 아래로 이동하는 것이 직관적이지 않습니까?
— reneruiz 2014

9
경로를 재정의하는. [ba | z] shrc에 다른 행이있는 경우 rvm이 파일의 맨 아래에 있어야합니다. export PATH="/usr/local/bin:/usr/local/sbin:$PATH"for Homebrew는 아마도 rvm과 충돌하는 일반적인 것입니다.
— TimeEmit 2014 년

4
여러 번 경로를 재정의했기 때문에 .bash_profile 맨 아래에 넣었습니다. 이것은 또한 작동했습니다.
— Kyle Suss 2014 년

1
이 터미널 다시 시작한 후 나를 위해 잘 작동
— NSTJ

24
이것은 확실히 옳은 해결책이지만, rvm reset그렇게하면 자동으로이 작업이 수행됩니다.
— Ralph Callaway

34

아마도이 문제를 해결하는 가장 좋은 방법은 아니지만 .zshrc 하단에이 줄을 추가했습니다 (.bashrc에서도 작동합니다!).

export PATH="$GEM_HOME/bin:$PATH"

이것은 RVM에 대한 업데이트가 포함 된 더 깨끗한 솔루션 인 IMO입니다.
— Dan L

동의하지 않습니다. 이것이이 문제를 해결하는 가장 좋은 방법이라고 생각합니다. :) 마지막으로 실행되고 다른 경로 선언이 있기 때문에 .bash_profile의 마지막 줄로 넣어야했습니다.
— applejack42

이것은 실제로이 문제를 해결하는 가장 좋은 솔루션 중 하나입니다. 거의 3 시간을 보냈고 마침내 포기하려고합니다. :)

~ / bash_profile의 마지막 줄에로드되는 ~ / .profile에 내 파일을 추가하고 다른 파일에 $ PATH에 대한 참조가 없는지 확인했습니다. 이렇게하면 Bash에서 작동하고 다른 셸에 의해 선택됩니다.
— Dmitri

예, 이것이 가장 좋은 솔루션입니다. 왜냐하면 명확하고 내보낼 위치를 지정하기 때문입니다. 감사!!!
— Albert Català 2016 년

23

나는 Michael Durrant의 솔루션을 시도했지만 그것은 나를 위해 작동하지 않았습니다. 그러나 나는 달렸고 rvm get stable --auto-dotfiles원하는대로 작동하기 시작했습니다.

도움이되기를 바랍니다.


이것은 Mavericks에서 작동했으며 수정을 완료하기 위해 터미널을 다시 시작해야했습니다.
— Brett Bim 2015

1
iTerm2 3.0.15, fish 2.5.0 및 rvm default내 config.fish파일 하단에있는 Mac 10.12.3 에서 . 명령 rvm reset은 터미널 창을 열어 둘 때 도움이되지 않았습니다. 이 명령이 작동했습니다. 내 출력 : pastebin.com/1jUCSGnP
— Pysis

내가 명령을 실행했을 때 아, 아마 그들은 사용하고 bash.. 통역을, 나는뿐만 아니라 그 구성 파일을 확인해야
— Pysis

아니요, iTerm을 다시 시작한 후에도 여전히 다른 터미널 창에서 깨졌고 프로필 스크립트를 확인해도 도움이되지 않았으므로 모든 구성 줄을 제거하고 컴퓨터를 다시 시작하고 물고기 기능 통합으로 RVM을 다시 설치하고 활성화했습니다. 한 rvm default줄. 그것은 .. 지금은 더 나은
— Pysis

8

이것은 질문에 대한 대답이 아니라 대부분의 댓글 작성자 / 응답자가 질문 한 관련 질문에 대한 것 입니다. 쉘 rc 파일의 맨 아래에 rvm 행을 넣어야하는 이유는 무엇입니까?

대답은 간단합니다.

  1. 로드 된 rvm 코드는 rvm ruby ​​바이너리 디렉토리를의 "앞"에 배치합니다 $PATH.
  2. .bashrc (또는 기본 셸에 해당하는)는 위에서 아래로 한 줄씩 읽고 해석됩니다.

따라서 다음 시나리오를 상상해보십시오.

$ echo $PATH
  /usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin 

$ [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
  /Users/sankalp/.rvm/gems/ruby-1.9.3-p547/bin:/Users/sankalp/.rvm/gems/ruby-1.9.3-p547@global/bin:/Users/sankalp/.rvm/rubies/ruby-1.9.3-p547/bin:/Users/sankalp/bin:/usr/texbin/:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin

$ export PATH=<something>:$PATH
$ echo $PATH
  <something>:/Users/sankalp/.rvm/gems/ruby-1.9.3-p547/bin:/Users/sankalp/.rvm/gems/ruby-1.9.3-p547@global/bin:/Users/sankalp/.rvm/rubies/ruby-1.9.3-p547/bin:/Users/sankalp/bin:/usr/texbin/:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin

RVM 라인 뒤에 쉘 초기화 파일에 무언가가 있고 $ PATH를 변경하는 경우, 더 구체적으로 디렉토리 앞에 추가하는 경우 $PATH이러한 변경 사항은 rvm에 의해 추가 된 디렉토리를 첫 번째 위치에서 아래로 밀어냅니다. RVM이 호출되면 루비 바이너리 디렉토리가 맨 처음에 있지 않고$PATH BAM! 경고가 표시됩니다. :).

나는 그것이 일을 명확하게 해주기를 바랍니다.


6

내 경험을 추가하는 것뿐입니다.을 사용하는 .bash_profile경우 .bashrc간섭이 없는지 확인하십시오 . 살인 .bashrc에 의해 하나의 강타 구성에 찬성 .bash_profile이 경우 작품 아웃.


1
이것은 내 문제를 해결했습니다. 내 모든 구성이 .bash_profile에 있으므로 .bashrc가 어떻게 거기에 있는지 확신하지 못합니다. rvm은 설치시 bashrc에 무언가를 넣습니까? bashrc에 한 줄만 있고 rvm과 관련이 있다고 생각하면 그렇게 생각합니다.
— kevindeleon

1
하나님은 그것을 밀어 종류의 명령 행 설치의 알고 그들은 그것을 오염 경향 :(.
— 아인 Tohvri

2
이것은 일반적인 해결책이 아닙니다, FWIW. .bashrc중첩 된 모든 대화식 쉘에 대해 실행됩니다. .bash_profile입력 된 첫 번째 bash 쉘, 즉 로그인 쉘에서만 실행됩니다. 변수는 일반적으로에서 설정해야하는 .bash_profile반면 함수, 별칭 등 (일반적인 상속 환경에서 전송되지 않는 항목)은에서 설정해야합니다 .bashrc.
— Barry Kelly

5

이에 대한 후속 질문이 있습니다 (단순히 의견을 추가 할 수 있기를 바라지 만 크레딧이 충분하지 않습니다). 나는 똑같은 문제가 있었다.를 사용하여 제안 된 rvm 스크립트를 따랐을 때 --auto-dotfiles셸 스크립트가 내 .bashrc_profile 파일을 삭제했기 때문에 문제가 발생했습니다 .

어쨌든, 나는 결국 위에 나열된 동일한 대답에 이르렀고이 줄을 .bashrc 파일 의 맨 아래에 넣었습니다 . [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"

bashrc 파일 중간에있는 행이 아닌 작동 방식으로 작동하는 이유를 찾았습니까? RVM이 다른 인스턴스가 아닌 한 인스턴스에서 작동하도록하는 환경 변수를 Unix가로드하는 방식에 대해 명확하게 알고 있습니까?


아니,이 일을 내가 :) 튀김에 :) 많음 더 재미있는 물고기 이동
— 마이클 듀런트

5

나는 같은 문제에 직면했다. bashrc 파일에서

export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting
export PATH=$HOME/local/bin:$PATH

export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting

rvm에 대한 여러 항목. 나는 하나의 항목과 잘 작동한다고 언급했습니다.

#export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting
#export PATH=$HOME/local/bin:$PATH

export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting

3

내 .zshrc의 PATH = 줄에서 .rvm이있는 모든 것을 정리했습니다.

그것은 나를 위해 다른 대답 (rvm 스크립트를 소싱하거나 자동 도트 파일로 안정을 얻는 것)이 그렇지 않은 문제를 해결했습니다.


2

이 명령이 매우 유용하다는 것을 알았습니다. 그것은 내 사건을 해결합니다. 따라서 누구든지 동일한 문제가 발생하면 이것을 시도하십시오. rvm get stable --auto-dotfiles


1

rvm install ruby-head 나를 위해 문제를 해결했습니다-약간의 시간이 걸리지 만 트릭을 수행했습니다. 그것이 내 bash 파일에 대해 발음되지 않은 업데이트를했는지 확실하지 않습니다.


1

나는 ~/.profile, ~/.bashrc그리고 ~/.zshrc.

기본적으로 나는 ~/.bash_profile내 Mac 에만 보관 했습니다. 그리고 작동합니다.

제 경우에는 다음이 있습니다.

export PATH = "$ PATH : $ HOME / .rvm / bin"
[[-s "$ HOME / .rvm / scripts / rvm"]] && source "$ HOME / .rvm / scripts / rvm"# RVM을 쉘 세션에로드 * 함수로 *

이 파일에서 중복 설정이 혼란 스럽습니다. rvm


1

부인 성명

나는 주로 파이썬을 사용하여 개발하기 때문에이 해결 방법이 올바른 루비 환경을 제공하거나 경로를 변경하고 경고를 제거할지 잘 모르겠습니다.

배경

제 경우에는 rvm먼저 설치 한 다음 pyenv나중에 설치 했습니다. 둘 다에 대한 구성이 변경 $PATH됩니다. 경고에서 rvm은 항상 경로에서 첫 번째가되기를 원합니다.

$ echo $PATH

$HOME/.rvm/gems/ruby-2.6.3/bin: ......

하지만 eval "$(pyenv init -)"에서 요구하는대로 추가하면 다음 으로 pyenv변경 $PATH됩니다.

$ echo $PATH

$HOME/.pyenv/shims:$HOME/.rvm/gems/ruby-2.6.3/bin: ......

내 해결 방법

$ rvm use system # 시스템 루비로 돌아 가기

$ rvm use ruby-2.6.3 # 사용해야하는 버전으로 전환

rvm 경로를 좋아하는 경로로 변경하면 성가신 경고가 다시 표시되지 않습니다.


0

상위 2 개의 중복 줄을 주석 처리하고 하단에 추가 한 후에 작동했습니다. 작동하려면 터미널을 다시 시작하는 것을 잊지 마십시오.

#[[ -s "$HOME/.profile" ]] && source "$HOME/.profile" # Load the default .profile
#[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
export PATH="/usr/local/opt/postgresql@9.6/bin:$PATH"
export LDFLAGS="-L/usr/local/opt/postgresql@9.6/lib"

[[ -s "$HOME/.profile" ]] && source "$HOME/.profile" # Load the default .profile
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*

0

추가 할 수 있습니다.

rvm_silence_path_mismatch_check_flag=1

당신에 ~/.rvmrc파일. 이것이 이제 경고 메시지가 제안하는 것입니다.


1
이것은 사용자가 요구하는 메시지를 수정하는 것이 아니라 무시하는 것입니다. 또한 새 프로젝트의 경우 문제가 다시 나타납니다.
— ma3x

@ ma3x 사실 OP는 질문없이 문제 만 언급 했으므로 경고 메시지를 '무시'하는 것은 유효한 제안이라고 생각합니다. 또한 새로운 프로젝트에 대한 부분을 이해하지 못합니다.
— AkaZecik

1
물음표가 없더라도 그가 오류를 숨기지 않고 수정하려고한다는 것을 컨텍스트에서 확실히 이해할 수 있습니다. 처음에는 안정적인 최신 RVM을 가져오고 파일을 자동 도트로 설정하는 것이 좋습니다. 새로운 gemset을 참조하고 싶었 기 때문에 내 실수였던 새로운 프로젝트의 경우.
— ma3x

@ ma3x 귀하의 통찰력에 감사드립니다 :) 아마도 우리의 추론 방식이 다를 수 있지만 질문과 기타 답변을 읽은 후 OP 가이 경고를 제거하고 싶다는 결론에 도달했습니다. 나는이가 아니라는 것을 다시 한번 강조하고 싶다 오류 그것의, 경고 . 그리고 PATH나에게 방해가 되는 소리 에 경로 순서를 적용하고 기껏해야 보호 하기 때문에이 답변을 게시하기로 결정했습니다. 나는 :) 내 대답을 재고하고 귀하의 의견에 따라이를 개선하기 위해 시간이 걸릴 것입니다
— AkaZecik

-3

이 문제를 해결했습니다. 다음과 같은 명령을 사용해보십시오.

rvm use 2.0.0-p353

라인 끝에 -p353 또는 기타 버전 세부 정보 추가


6
이것은 현재 셸 세션의 문제 만 해결하므로 정확히 최선의 답은 아닙니다.
— IIllIIll
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.