“경고! 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 defaultconfig.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.