복붙노트

[RUBY-ON-RAILS] 루비 1.9.2 및 레일 3 열 수 없습니다 레일 콘솔

RUBY-ON-RAILS

루비 1.9.2 및 레일 3 열 수 없습니다 레일 콘솔

[gkaykck@main myApplication]$ rails console
/usr/local/lib/ruby/1.9.1/irb/completion.rb:9:in `require': no such file to load -- readline (LoadError)
    from /usr/local/lib/ruby/1.9.1/irb/completion.rb:9:in `<top (required)>'
    from /usr/local/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/commands/console.rb:3:in `require'
    from /usr/local/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/commands/console.rb:3:in `<top (required)>'
    from /usr/local/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/commands.rb:20:in `require'
    from /usr/local/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/commands.rb:20:in `<top (required)>'
    from script/rails:6:in `require'
    from script/rails:6:in `<main>'

내가 좋아 내가 추측 루비 1.9.2p136에 레일 (3)을 설치했습니다. 하지만 난 레일 콘솔을 시작할 수 없습니다 그것은 나에게 내가 복사 오류를 제공합니다. 애플 리케이션은 루비 1.8.7과 함께 좋은 일을하고 나는이 같은 오류를 본적이 없어요.

모든 것이 될 수 있는지 아이디어?

해결법

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

    1.그들이해야처럼 분명히 우분투와 루비는 항상 종속성을 잡을 수 없습니다.

    그들이해야처럼 분명히 우분투와 루비는 항상 종속성을 잡을 수 없습니다.

    첫 번째 구글 히트에서 (그래, 나는 첫 번째 결과를 확인하기 전에 장소 # 2이 스택 오버 플로우를 클릭했습니다.)

    루비 소스로 이동 한 입력 :

    sudo apt-get install libreadline5-dev
    cd ext/readline
    ruby extconf.rb
    make
    sudo make install
    

    다른 배포판에있어 경우에 따라서, 당신이 어떻게 든 작성한 Readline (소스 / 패키지)를 설치하게 한 후 실행 메이크업 / 소스에서 extconf에 설치합니다. 나는 물론 제안하지만 내 시스템에 이미 작성한 Readline없이이있어 gkaykck 무엇을 시도했다.

    $ ruby extconf.rb
    checking for tgetnum() in -lncurses... no
    checking for tgetnum() in -ltermcap... no
    checking for tgetnum() in -lcurses... no
    checking for readline/readline.h... no
    checking for editline/readline.h... no
    
  2. ==============================

    2.RVM을 사용하는 사람들을위한 레시피 :

    RVM을 사용하는 사람들을위한 레시피 :

    rvm pkg install readline
    rvm remove 1.9.3
    rvm install 1.9.3 --with-readline-dir=$rvm_path/usr
    

    https://rvm.io/packages/readline/에 대한 자세한 세부 정보

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

    3.당신이 원하는 경우에이 문제에 대한 또 다른 해결책은이 작업을 수행.

    당신이 원하는 경우에이 문제에 대한 또 다른 해결책은이 작업을 수행.

    sudo apt-get install libreadline6
    

    그런 다음 보석 파일 추가에 :

    gem 'rb-readline'
    

    그때

    bundle install
    

    그리고 당신은 모든 설정해야합니다.

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

    4.나는 (루비 버전 관리자)가 루비의 당신의 다른 버전을 관리하고 전환 할 RVM을 사용하는 것이 좋습니다 것입니다. 너무 당신을 위해 다양한 버전을 컴파일 꽤 좋은 직장 않습니다. 파일이있는 디렉토리에서 사용하기에 어떤 루비 버전 RVM 알려 .rvmrc 당신은 당 디렉토리를 생성 할 수 있습니다 (당신이 원하는 경우뿐만 아니라, 사용 당 프로젝트 보석 세트를!)

    나는 (루비 버전 관리자)가 루비의 당신의 다른 버전을 관리하고 전환 할 RVM을 사용하는 것이 좋습니다 것입니다. 너무 당신을 위해 다양한 버전을 컴파일 꽤 좋은 직장 않습니다. 파일이있는 디렉토리에서 사용하기에 어떤 루비 버전 RVM 알려 .rvmrc 당신은 당 디렉토리를 생성 할 수 있습니다 (당신이 원하는 경우뿐만 아니라, 사용 당 프로젝트 보석 세트를!)

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

    5.모두 제거 우선 당신이 가지고있는 모든 루비 버전.

    모두 제거 우선 당신이 가지고있는 모든 루비 버전.

    이 디스플레이 RVM 요구 후 :

    rvm requirements
    

    당신은 같은 것을 얻을 것이다 :

    Requirements for Linux ( DISTRIB_ID=Ubuntu
    DISTRIB_RELEASE=11.10
    DISTRIB_CODENAME=oneiric
    DISTRIB_DESCRIPTION="Ubuntu 11.10" )
    
    NOTE: 'ruby' represents Matz's Ruby Interpreter (MRI) (1.8.X, 1.9.X)   
    This is the *original* / standard Ruby Language Interpreter  
          'ree'  represents Ruby Enterprise Edition  
          'rbx'  represents Rubinius  
    
    bash >= 4.1 required curl is required git is required (>= 1.7 for
    ruby-head) patch is required (for 1.8 rubies and some ruby-head's).
    
    To install rbx and/or Ruby 1.9 head (MRI) (eg. 1.9.2-head), then you
    must install and use rvm 1.8.7 first.
    
    Additional Dependencies: 
    # For Ruby / Ruby HEAD (MRI, Rubinius, & REE), install the following:
      ruby: /usr/bin/apt-get install build-essential openssl libreadline6 
      libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev 
      libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev 
      ncurses-dev automake libtool bison subversion
    
    # For JRuby, install the following:
      jruby: /usr/bin/apt-get install curl g++ openjdk-6-jre-headless
      jruby-head: /usr/bin/apt-get install ant openjdk-6-jdk
    
    # For IronRuby, install the following:
      ironruby: /usr/bin/apt-get install curl mono-2.0-devel
    

    apt-get을 통해 모든 종속성을 설치합니다. 그 후 1.8.7 루비 설치합니다. 당신은 루비 1.9.x를 사용하려는 경우이 버전이 필요합니다 이제 1.9.3 루비 설치할 수 있습니다 :

    rvm pkg install readline
    rvm remove 1.9.3
    rvm install 1.9.3 --with-readline-dir=$rvm_path/usr
    

    당신도 당신이 apt-get을 사용하여 설치 한 경우 RVM을 통해 작성한 Readline 패키지를 설치해야 해달라고합니다.

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

    6.CentOS는 6 :

    CentOS는 6 :

    다음과 같은 출력을 볼 경우, readline에 설치되어 있지 않습니다 :

    $ ruby extconf.rb 
    checking for tgetnum() in -lncurses... no
    checking for tgetnum() in -ltermcap... no
    checking for tgetnum() in -lcurses... no
    checking for readline/readline.h... no
    checking for editline/readline.h... no
    

    RPM으로 설치하려면 :

    yum install readline-devel
    

    그런 다음 그것을 만들기 :

    ruby extconf.rb 
    make
    sudo make install
    
  7. ==============================

    7.해결 방법은 컴파일 된 루비 => 내선 => readline에 비해 폴더 소스로 이동하는 것입니다

    해결 방법은 컴파일 된 루비 => 내선 => readline에 비해 폴더 소스로 이동하는 것입니다

    ruby extconf.rb
    make
    sudo make install
    
  8. ==============================

    8.Gemfile에 추가

    Gemfile에 추가

    gem 'rb-readline'
    

    다음 설치 번들

    나를 위해 속임수를 썼는지

  9. ==============================

    9.당신이 RVM을 사용하는 경우 당신은 다시 메이크업의 수의 readline을. 이것은 나를 위해 문제를 해결했습니다. 여기 방법 :

    당신이 RVM을 사용하는 경우 당신은 다시 메이크업의 수의 readline을. 이것은 나를 위해 문제를 해결했습니다. 여기 방법 :

    부하에 해당 파일 -의 readline (로드 오류)

  10. ==============================

    10.설치된 모든 루비를 제거하는 RVM 삭제를 사용합니다. 당신은 여전히 ​​뭔가를 얻을 경우, 당신은 RVM을 다시 설치해야 "하는 루비"다음 RVM을 사용하여 루비 설치합니까.

    설치된 모든 루비를 제거하는 RVM 삭제를 사용합니다. 당신은 여전히 ​​뭔가를 얻을 경우, 당신은 RVM을 다시 설치해야 "하는 루비"다음 RVM을 사용하여 루비 설치합니까.

  11. from https://stackoverflow.com/questions/4922700/ruby-1-9-2-and-rails-3-cannot-open-rails-console by cc-by-sa and MIT license