복붙노트

[RUBY-ON-RAILS] 어떻게 우분투 보석을 사용합니까?

RUBY-ON-RAILS

어떻게 우분투 보석을 사용합니까?

나는 최근 우분투 9.04으로 업그레이드하고 나는 보석을 사용하여 문제가 있습니다. 나는 apt-get을을 사용하여 루비, 루비 젬과 레일을 설치했다. 레일 명령은 작업을 수행합니다.

나는 다음과 같은 Heroku가 같은 카피 스트라 노 및 기타 보석을 설치했다. 그렇게하기 위해, 나는 명령을 사용 :

sudo gem install XXX

나는 캡 명령을 사용할 때 작동하지 않습니다 :

bash: cap: command not found

그것은 다른 보석 명령과 동일합니다.

나는 보석 명령 작업을 그렇게 할 것과 특히 뭔가를해야합니까?

해결법

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

    1.당신의 보석은 보석 환경 명령을 사용하여 저장되는 위치를 찾을 수 있습니다. 예를 들면 :

    당신의 보석은 보석 환경 명령을 사용하여 저장되는 위치를 찾을 수 있습니다. 예를 들면 :

    chris@chris-laptop:~$ gem environment
    RubyGems Environment:
      - RUBYGEMS VERSION: 1.3.2
    
      - RUBY VERSION: 1.8.7 (2008-08-11 patchlevel 72) [i486-linux]
      - INSTALLATION DIRECTORY: /usr/lib/ruby/gems/1.8
      - RUBY EXECUTABLE: /usr/bin/ruby1.8
      - EXECUTABLE DIRECTORY: /usr/bin
      - RUBYGEMS PLATFORMS:
        - ruby
        - x86-linux
      - GEM PATHS:
         - /usr/lib/ruby/gems/1.8
         - /home/chris/.gem/ruby/1.8
      - GEM CONFIGURATION:
         - :update_sources => true
         - :verbose => true
         - :benchmark => false
         - :backtrace => false
         - :bulk_threshold => 1000
      - REMOTE SOURCES:
    

    당신이 보면 "GEM 과정 :"/usr/lib/ruby/gems/1.8 또는 .gem 디렉토리에 내 홈 디렉토리에 섹션 당신은 보석이 내 노트북에 두 장소에 저장 될 수 있음을 알 수있다.

    또한 실행이 경우는 / usr / 빈입니다 EXECUTABLE 전화 번호부에 저장되어있는 것을 볼 수 있습니다.

    는 / usr / 빈 내 경로에 있기 때문에이 날 캡, Merb는, 레일 등을 실행할 수 있습니다

    어떤 이유로 실행 파일 디렉토리가 경로에없는 경우에 당신은 당신의 PATH 변수를 업데이트해야합니다 (예를 들어, 그것은 /var/lib/gems/1.8/bin 경우).

    당신이 bash 쉘을 사용하고 있다고 가정. 당신은 프롬프트 쉘에서 다음을 입력하여 현재 세션에 대해 신속하게이 작업을 수행 할 수 있습니다; 의 당신이 경로에 /var/lib/gems/1.8/bin 추가하려는 척하자 :

    export PATH=$PATH:/var/lib/gems/1.8/bin
    

    하고 Return 키를 누릅니다. 즉, 현재 경로의 마지막에 새로운 디렉토리를 추가합니다. $ 경로와 /var/lib/gems/1.8/bin 사이의 콜론을 참고

    당신이 편집에의 .profile이나 .bashrc에 파일 중 하나를 필요로하고 파일의 끝에 같은 라인을 추가합니다 모든 세션에 대한 값을 설정합니다. 나는 보통 내가 항상 무슨 짓을했는지 그보다는 다른 이유없이 내의 .bashrc 파일을 편집합니다. 완료되면 파일을 저장 한 다음 입력하여 사용자 환경을 새로 고침 :

    bash
    

    쉘 프롬프트에서. 즉 GET 다시 읽기에 .bashrc에 원인이됩니다.

    어떤 시점에서 당신은 입력하여 $ PATH의 현재 값을 확인할 수 있습니다

    echo $PATH
    

    쉘 프롬프트에서.

    여기에 사용자 이름이 "크리스"내 자신의 서버 중 하나의 샘플입니다 및 기계 이름은 "크리스 - 노트북"입니다 :

    chris@chris-laptop:~$ 
    chris@chris-laptop:~$ echo $PATH
    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
    chris@chris-laptop:~$ 
    chris@chris-laptop:~$ export PATH=$PATH:/var/lib/gems/1.8/bin
    chris@chris-laptop:~$ 
    chris@chris-laptop:~$ echo $PATH
    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/var/lib/gems/1.8/bin
    chris@chris-laptop:~$ 
    

    루비의 여러 다른 버전을 사용하여 하이라이트 일반적인 문제를 "루비 보석은 비록 설치를로드 할 수 없습니다"; 때로는 보석 환경과 보석 경로가 동기화 얻을 :

    rb(main):003:0> Gem.path
    
    => ["/opt/ruby1.9/lib/ruby1.9/gems/1.9.1"]
    irb(main):004:0> exit
    

    여기에 모든 루비 프로세스는 보석 만 한 곳을 찾고 있습니다.

    :~/$ gem env
    RubyGems Environment:
      - RUBYGEMS VERSION: 1.3.7
      - RUBY VERSION: 1.9.1 (2009-05-12 patchlevel 129) [x86_64-linux]
      - INSTALLATION DIRECTORY: /opt/ruby1.9/lib/ruby/gems/1.9.1
      - RUBY EXECUTABLE: /opt/ruby1.9/bin/ruby1.9
      - EXECUTABLE DIRECTORY: /opt/ruby1.9/bin
      - RUBYGEMS PLATFORMS:
        - ruby
        - x86_64-linux
      - GEM PATHS:
         - /opt/ruby1.9/lib/ruby/gems/1.9.1
         - /home/mark/.gem/ruby/1.9.1
      - GEM CONFIGURATION:
         - :update_sources => true
         - :verbose => true
         - :benchmark => false
         - :backtrace => false
         - :bulk_threshold => 1000
      - REMOTE SOURCES:
         - http://rubygems.org/
    

    보석 환경의 출력을주의 깊게 봐 :

      - GEM PATHS:
         - /opt/ruby1.9/lib/ruby/gems/1.9.1
    

    이 Gem.path에 의해 반환과 동일한 경로되지 않습니다 :

    ["/opt/ruby1.9/lib/ruby1.9/gems/1.9.1"]
    

    그것은 정확히 lib 디렉토리 / ruby1.9하지만 대부분 개발자가 여러 루비 버전과 함께 일하고에 변화에 lib 디렉토리 / 루비의 원인을 말할 어렵다. 빠른 MV 또는 에선이 문제를 해결합니다.

    여러 루비 버전과 작업을해야하는 경우 당신은 정말 RVM을 사용해야합니다.

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

    2.@ 크리스가 언급 한 바와 같이 당신은 당신의 경로에 보석 환경을 추가해야합니다. 이 작업을하여 수행 할 수 있습니다

    @ 크리스가 언급 한 바와 같이 당신은 당신의 경로에 보석 환경을 추가해야합니다. 이 작업을하여 수행 할 수 있습니다

    echo 'export PATH=$PATH:/var/lib/gems/1.8/bin' | tee --append ~/.bashrc
    
  3. ==============================

    3.내가 예를 들어 보석이 당신의 PATH에 있어야합니다 저장되어있는 폴더 :

    내가 예를 들어 보석이 당신의 PATH에 있어야합니다 저장되어있는 폴더 :

    입력하여 경로를 확인

    echo $PATH
    
  4. ==============================

    4.이 젬을 설치할 때, 지금 우분투 9.04에서, 나는이 문제를 가지고 seens. 나는이 젬 또는 우분투 9.04에 문제가 ... "보석 환경"의 실행 디렉토리 대신 "는 / usr / 빈"의 "/var/lib/gems/1.8/bin"입니다 것으로 나타났습니다?

    이 젬을 설치할 때, 지금 우분투 9.04에서, 나는이 문제를 가지고 seens. 나는이 젬 또는 우분투 9.04에 문제가 ... "보석 환경"의 실행 디렉토리 대신 "는 / usr / 빈"의 "/var/lib/gems/1.8/bin"입니다 것으로 나타났습니다?

    나는 발생하는이 솔루션은 내 $ PATH에이 일에 "/var/lib/gems/1.8/bin"을 추가하는 것입니다 : 수출 PATH는 $ PATH를 = : /var/lib/gems/1.8/bin를 하지만 어떻게 내가 내 길을 절약 할 수 있습니다 ... 저장하지 않는다?

    감사...

    나는 결정 : 수출 PATH = $ PATH를 넣어 : /var/lib/gems/1.8/bin을 ~ / .bashrc에에! =]

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

    5.mkmf는 ruby1.9.1-dev에 패키지의 일부입니다. 이 패키지는 루비 1.9.1에 대한 확장 라이브러리에 필요한 헤더 파일이 포함되어 있습니다. 당신은 수행하여 ruby1.9.1-dev에 패키지를 설치해야합니다 :

    mkmf는 ruby1.9.1-dev에 패키지의 일부입니다. 이 패키지는 루비 1.9.1에 대한 확장 라이브러리에 필요한 헤더 파일이 포함되어 있습니다. 당신은 수행하여 ruby1.9.1-dev에 패키지를 설치해야합니다 :

    apt-get을 ruby1.9.1-dev에 설치 sudo는

  6. from https://stackoverflow.com/questions/909673/how-do-i-use-gems-with-ubuntu by cc-by-sa and MIT license