2

데비안에서 rbenv를 사용하고 있습니다. 데비안에는 루비 1.9.3이 미리 설치되어 있습니다. 나는 rbenv를 설치하고 그것을 사용하여 루비 2.1.2를 설치했다. 그런 다음 rails new을 사용하여 새로운 레일 애플리케이션을 만들었습니다.rails server Welcome Aboard 사이트에서 rbenv와 다른 루비 버전을보고하는 이유는 무엇입니까?

rbenv versions

system 
* 2.1.2 (set by /home/jordanmorris/code/TestRail/.ruby-version) 

rbenv global는 (신규 애플리케이션 폴더)
rbenv local2.1.2 제공 2.1.2
ruby -v 제공 2.1.2
which ruby/home/jordanmorris/.rbenv/shims/ruby

01 범 범 범 23,516,

는 그러나,보고 내가 rails server (Node.js를)를 사용할 때, '사이트를 타고 오신 것을 환영합니다'는을 확인하고 "응용 프로그램의 환경 정보"를 클릭
Ruby version1.9.3-p484 (x86_64-linux)

왜이 버전을 표시하지 않습니다 예상대로 rbenv로 설정했는데 이것이 문제의 원인입니까?

레일즈가 하나만 설치되어 afaik가 제대로보고됩니다 (4.1.4).

+2

'which ruby'라고 입력하면 응용 프로그램 폴더에 rbenv 루비 또는 시스템 루비를 갖게됩니까? – Anthony

+0

@Anthony'ruby'는'/ home/jordanmorris/.rbenv/shims/ruby'를 제공합니다. –

+0

테스트를 위해 Gemfile에'ruby '2.1.2'' 행을 추가하고,'rails server'를 실행하고, 응용 프로그램의 환경을 다시? –

답변

0

This 답했습니다.

문제는 내가 sudo을 사용하여 레일을 설치 한 것이 었습니다.

rbenv는 사용자별로 작동합니다. 따라서 rbenv install에는 jordanmorris 용으로 ruby ​​2.1.2가 설치되어 있고, sudo gem install rails에는 root (1.9.3) 용으로 설치된 ruby ​​/ gem 버전 만 사용하는 레일이 설치되어 있습니다.

이후, 때마다 내가 rbenv 또는 ruby 실행, 그들은 rbenv에 의해 결정 예상 레일 버전을 사용하지만 때마다 나는 rails new 또는 rails server, 그것은 루비 1.9.3의 상단에 설치된 레일을 사용 실행, 그 인 레일의 인스턴스 만 존재합니다.

나는 그것을 해결하기 위해 다음 단계에 따라 :

  1. 제거 레일을하고 (나는 깔끔한 집을 유지하고자해서)는 종속성을합니다.
  2. sudo을 사용하지 않고 레일을 설치하십시오.
  3. 실행 rbenv rehash.
  4. 새 애플리케이션을 다시 생성하십시오 (rails new).

올바른 버전이 환영 메시지 -> 응용 프로그램 환경 정보 페이지에 표시됩니다.

또한 참고로 rails new 명령은 봄을 사용하는 응용 프로그램을 만듭니다. rbenv와의 스텁 충돌을 피하려면 rbenv-binstubs을 설치하십시오.

관련 문제