복붙노트

[RUBY-ON-RAILS] 부하에 해당 파일 - 루비 젬 (LoadError)

RUBY-ON-RAILS

부하에 해당 파일 - 루비 젬 (LoadError)

나는 최근에 내가 리눅스에 새로 온 사람뿐만 아니라 페도라 12에 레일을 설치했다. 모든 윈도우 7에서 잘 작동하지만 리눅스에서 문제가 많이 직면하고있다. 도와주세요!

내가하고 실행할 기본 스크립트 / 서버를 얻기 위해 내 지식에 대한 모든 필수 요소를 설치했습니다. 나는 스크립트 / 서버를하려고 할 때 팝업 boot.rb에서이 오류가 있습니다. 세부 사항 중 일부는 여기주고 싶습니다

레일, 루비와 보석이 설치되어있는 디렉토리,

[vineeth@localhost my_app]$ which ruby
/usr/local/bin/ruby

[vineeth@localhost my_app]$ which rails
/usr/bin/rails

[vineeth@localhost my_app]$ which gem
/usr/bin/gem

내가 스크립트 / 서버를 실행할 때이 오류입니다.

[vineeth@localhost my_app]$ script/server
./script/../config/boot.rb:9:in `require': no such file to load -- rubygems (LoadError)
 from ./script/../config/boot.rb:9
 from script/server:2:in `require'
 from script/server:2

그리고 PATH 파일 모습이 맘에

[vineeth@localhost my_app]$ cat ~/.bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
 . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH="/usr/local/bin:/usr/local/sbin:/usr/bin/ruby:$PATH"

나는 PATH 파일과 함께 할 수있는 뭔가 가정하자. 제가 여기 변경할 필요가 무엇인지 알려주십시오. 내가해야 다른 변경 사항이 있으면 알려 주시기 바랍니다.

해결법

  1. ==============================

    1.두 개의 루비 버전을 가지고 나는 직감이있다. 다음 명령의 출력을 붙여주세요 :

    두 개의 루비 버전을 가지고 나는 직감이있다. 다음 명령의 출력을 붙여주세요 :

    $ which -a ruby
    

    주석에 대한 업데이트 :

    핵무기 하나 개의 버전 및 휴가 하나. 나는 두 가지 버전이 보석에 대해 서로 다른 위치를 찾고 같은 문제가 있었다. 내가 몇 주 동안 미쳐 가고 있었다. 여기에 SO에 현상금을 넣어 나에게 내가 너희에게주는거야 같은 대답을 얻었다.

    내가 한 모든 루비의 핵무기 하나를 설치했다 및 포트를 통해 관리 가능한 사람을 떠났다. 나는이 일을 건의 할 것입니다 :

  2. ==============================

    2.나는이 설치되어 있기 때문에 루비의 여러 사본을 필요로 우분투에 비슷한 문제가 있었다. (1.8 및 1.9.1)는 불행하게도 나는 둘 다 필요합니다. 이 솔루션은 사용하는 것입니다 :

    나는이 설치되어 있기 때문에 루비의 여러 사본을 필요로 우분투에 비슷한 문제가 있었다. (1.8 및 1.9.1)는 불행하게도 나는 둘 다 필요합니다. 이 솔루션은 사용하는 것입니다 :

    $ sudo update-alternatives --config ruby
    There are 2 choices for the alternative ruby (providing /usr/bin/ruby).
    
      Selection    Path                Priority   Status
    ------------------------------------------------------------
    * 0            /usr/bin/ruby1.8     50        auto mode
      1            /usr/bin/ruby1.8     50        manual mode
      2            /usr/bin/ruby1.9.1   10        manual mode
    
    Press enter to keep the current choice[*], or type selection number: 2
    update-alternatives: using /usr/bin/ruby1.9.1 to provide /usr/bin/ruby (ruby) in manual mode.
    

    해당 번들을 수행 한 후 성공 설치합니다.

  3. ==============================

    3.OK, 그래서 희망이 다른 사람 도움, 나는 루비 멍청한 놈,하지만 난이 약간 다르게 여기에 대한 답보다 더 고칠했다 (TL을, 박사 : 나는 젬 기대 동일 하나에 시스템을 루비 버전을 전환 할 RVM을 사용).

    OK, 그래서 희망이 다른 사람 도움, 나는 루비 멍청한 놈,하지만 난이 약간 다르게 여기에 대한 답보다 더 고칠했다 (TL을, 박사 : 나는 젬 기대 동일 하나에 시스템을 루비 버전을 전환 할 RVM을 사용).

    첫째, Eimantas에서 언급 한 바와 같이 모든 루비를 나열하는 것은 좋은 출발점이었다 :

    > which -a ruby
    /opt/local/bin/ruby
    /Users/Brian/.rvm/rubies/ruby-1.9.2-p290/bin/ruby
    /Users/Brian/.rvm/bin/ruby
    /usr/bin/ruby
    /opt/local/bin/ruby
    

    시스템에 의해 사용의 기본 루비 인스턴스는 1.8.7을 것으로 나타나

    > ruby -v
    ruby 1.8.7 (2010-06-23 patchlevel 299) [i686-darwin10]
    

    젬에서 사용 된 버전을하는 동안 1.9.2 버전은 RVM에 의해 관리 :

    > gem env | grep 'RUBY EXECUTABLE'
      - RUBY EXECUTABLE: /Users/Brian/.rvm/rubies/ruby-1.9.2-p290/bin/ruby
    

    그래서 확실히 문제였다. 나는 적극적으로 내가 다른 목적으로 활성화 된 버전을 상관하지 않았다 때문에 (이것은 단순히 내가 실행하기 위해 노력하고있어 빌드 시스템 스크립트의 종속성입니다) 루비 나 자신을 사용하지 않습니다. 젬 이미 RVM에 의해 관리 된 1.9.2을 예상하기 때문에, 단순히 기본값으로 1.9.2 버전을 사용하도록 시스템을 전환하는 RVM을 사용 :

    > rvm use 1.9.2
    Using /Users/Brian/.rvm/gems/ruby-1.9.2-p290
    
    > ruby -v
    ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-darwin11.3.0]
    

    수행 한 후 내 "해당 파일"문제는 멀리 가서 내 스크립트 작업을 시작했다.

  4. ==============================

    4.내 경우 젬에 설치되지 않았 음을 추가하는 것처럼.

    내 경우 젬에 설치되지 않았 음을 추가하는 것처럼.

    sudo는 apt-get을 실행 젬을 설치 문제를 해결!

  5. ==============================

    5.함께 프로젝트를 시작하십시오 :

    함께 프로젝트를 시작하십시오 :

    ./script/server
    

    대신 루비 1.9.2을 사용하는 경우 스크립트 / 서버의 (요구하는 이상한 무능력에서 설정 / 부팅 업그레이드 후 1.9.2를 루비)

  6. ==============================

    6.경우 다른 사람이이 문제를 인터넷 검색을한다 : 내가 사용하고 싶었 해당 폴더를 도비 "젬"을 찾아 내 $ RUBYLIB 환경 변수에 추가하여 내 문제를 해결 할 수 있었다.

    경우 다른 사람이이 문제를 인터넷 검색을한다 : 내가 사용하고 싶었 해당 폴더를 도비 "젬"을 찾아 내 $ RUBYLIB 환경 변수에 추가하여 내 문제를 해결 할 수 있었다.

    find / -name "rubygems" -print
    

    당신이 그것을 찾으면, 환경에 상위 디렉토리를 추가합니다. 배쉬에서, 너무 좋아 :

    export RUBYLIB=/path/to/parent
    

    당신이 보석을 실행하면 지금, 그것은 올바른 라이브러리 디렉토리를 선택해야합니다, 당신은 해제하고 실행할 수 있습니다.

  7. ==============================

    7.나는 ... 단순히 내가 원하는 보석을 요구하는 사소한 루비 스크립트를 실행, 비슷한 문제를 가지고 그 오류 메시지를 받았습니다. 언제부터 주문을 변경 :

    나는 ... 단순히 내가 원하는 보석을 요구하는 사소한 루비 스크립트를 실행, 비슷한 문제를 가지고 그 오류 메시지를 받았습니다. 언제부터 주문을 변경 :

    ruby test.rb
    

    ruby -rubygems test.rb
    

    일 것 같았다.

  8. ==============================

    8.나는 비슷한 문제를 가지고 있었고, RUBYLIB의 ENV를 설정하여 그것을 해결했다.

    나는 비슷한 문제를 가지고 있었고, RUBYLIB의 ENV를 설정하여 그것을 해결했다.

    내 환경에서 이걸 사용 :

    export RUBYLIB=$ruby_dir/lib/ruby/1.9.1/:$ruby_dir/lib/ruby/1.9.1/i686-linux/:$RUBYLIB
    
  9. ==============================

    9.당신은 몇 가지 루비가 설치되어있는 경우, 여분의 포트는 설치와 설치 루비 포트를 제거하여 단지에서라도에, 그 중 하나를 제거하기에 충분한 수 있습니다 :

    당신은 몇 가지 루비가 설치되어있는 경우, 여분의 포트는 설치와 설치 루비 포트를 제거하여 단지에서라도에, 그 중 하나를 제거하기에 충분한 수 있습니다 :

    sudo port -f uninstall ruby
    
  10. ==============================

    10.나는 또한이 문제를 가지고 있었다. 내 솔루션 삭제 파일 Gemfile.lock, 그리고 다시 보석을 설치 : 설치 번들

    나는 또한이 문제를 가지고 있었다. 내 솔루션 삭제 파일 Gemfile.lock, 그리고 다시 보석을 설치 : 설치 번들

  11. ==============================

    11.

    gem install bundler
    

    나를 위해 문제를 해결했습니다.

  12. ==============================

    12.- 구글은 "젬"에 "ubygems을"자동 수정 후 ubygems (LoadError) 등의 파일을로드 할 수 없습니다 : 인터넷 검색이 '필요'때의 첫 번째 대답이다. 이 밝혀 루비 2.4 2.5 (버그 # 14322) 사이의 의도적 인 변경이었다. 계정에 대부분 실패합니다 루비 버전을 복용하지 않고 사용자의 보석 디렉토리를 감지 스크립트.

    - 구글은 "젬"에 "ubygems을"자동 수정 후 ubygems (LoadError) 등의 파일을로드 할 수 없습니다 : 인터넷 검색이 '필요'때의 첫 번째 대답이다. 이 밝혀 루비 2.4 2.5 (버그 # 14322) 사이의 의도적 인 변경이었다. 계정에 대부분 실패합니다 루비 버전을 복용하지 않고 사용자의 보석 디렉토리를 감지 스크립트.

    루비 2.4

    ruby -rubygems -e 'puts Gem.user_dir'
    

    루비 2.5

    ruby -rrubygems -e 'puts Gem.user_dir'
    
  13. ==============================

    13.또한 rbenv의 + 여객 +의 nginx를 사용하여 동일한 문제를 만났다. 내 솔루션은 단순히 당신의 nginx 설정에 코드의 이러한 두 줄을 추가한다 :

    또한 rbenv의 + 여객 +의 nginx를 사용하여 동일한 문제를 만났다. 내 솔루션은 단순히 당신의 nginx 설정에 코드의 이러한 두 줄을 추가한다 :

    passenger_default_user root;
    passenger_default_group root;
    

    자세한 대답은 여기에 있습니다 : https://stackoverflow.com/a/15777738/445908

  14. ==============================

    14.간단하게 실행 / 빈 / bash는 --login 이상하게 나를 위해 트릭을했다. 그것을 설명 할 수 없습니다.

    간단하게 실행 / 빈 / bash는 --login 이상하게 나를 위해 트릭을했다. 그것을 설명 할 수 없습니다.

  15. from https://stackoverflow.com/questions/2896485/no-such-file-to-load-rubygems-loaderror by cc-by-sa and MIT license