복붙노트

[RUBY-ON-RAILS] 레일, MySQL과 스노우 레오파드 (Snow Leopard)

RUBY-ON-RAILS

레일, MySQL과 스노우 레오파드 (Snow Leopard)

나는 우리가 WWDC에서받은 디스크를 사용하여 스노우 레오파드로 업그레이드.

내 레일의 일부를 실행하려고 애플 리케이션 이제 SQL에 대한 불만

    (in /Users/coneybeare/Projects/Ambiance/ambiance-server)
!!! The bundled mysql.rb driver has been removed from Rails 2.2. Please install the mysql gem and try again: gem install mysql.
Importing all sounds in /Users/coneybeare/Projects/Ambiance/ambiance-sounds/Import 32/Compressed/

 -- AdirondackPeepers.caf
!!! The bundled mysql.rb driver has been removed from Rails 2.2. Please install the mysql gem and try again: gem install mysql.
rake aborted!
dlopen(/opt/local/lib/ruby/gems/1.8/gems/mysql-2.7/lib/mysql.bundle, 9): Library not loaded: /usr/local/mysql/lib/libmysqlclient.16.dylib
  Referenced from: /opt/local/lib/ruby/gems/1.8/gems/mysql-2.7/lib/mysql.bundle
  Reason: image not found - /opt/local/lib/ruby/gems/1.8/gems/mysql-2.7/lib/mysql.bundle

(See full trace by running task with --trace)

내가 전에 한 번이 고정 맹세 할 수있다. 문제는이다

sudo gem install mysql

작동하지 않는 오류를 제공합니다 :

 Building native extensions.  This could take a while...
ERROR:  Error installing mysql:
    ERROR: Failed to build gem native extension.

/opt/local/bin/ruby extconf.rb install mysql
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lm... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lz... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lsocket... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lnsl... no
checking for mysql_query() in -lmysqlclient... no


Gem files will remain installed in /opt/local/lib/ruby/gems/1.8/gems/mysql-2.7 for inspection.
Results logged to /opt/local/lib/ruby/gems/1.8/gems/mysql-2.7/gem_make.out

사람은 아직 눈 표범에 레일 작업에 MySQL의를받은 적이 있습니까? 그렇다면, 당신의 설정과는 나는 그것을 재현하기 위해 무엇을 할 수 있고, 더 좋은 방법은 무엇인가?

해결법

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

    1.난 그냥 여기에 나를 위해 일한 무엇 ... 같은 고통을 겪었 :

    난 그냥 여기에 나를 위해 일한 무엇 ... 같은 고통을 겪었 :

    
        sudo gem update --system
    
        sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
    

    (가) 위의 작업이 당신을 위해하지 않는 경우 나 또한 내 10.5 일에서 주위에 떠 된 모든 MySQL의 보석을 제거, 그 그것을 할 수 있습니다 :

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

    2.64 비트로 MySQL을 재 구축 또는 설치 64 비트 버전도 중요하지만 당신은 또한 원래 인텔 코어 듀오 맥 중 하나에있는 경우이 적용되지 않습니다 아니라 (같은 당신이 64 비트로 mysql을 보석의 기본 부분을 구축 할 필요가 ).

    64 비트로 MySQL을 재 구축 또는 설치 64 비트 버전도 중요하지만 당신은 또한 원래 인텔 코어 듀오 맥 중 하나에있는 경우이 적용되지 않습니다 아니라 (같은 당신이 64 비트로 mysql을 보석의 기본 부분을 구축 할 필요가 ).

    여기에 마법의 명령입니다 :

    env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
    

    당신이 보석 스노우 레오파드 (Snow Leopard)에 대한 기본 구성 요소를 설치 할 때마다 위의 그림과 같이 당신은 ARCHFLAGS을 설정해야합니다.

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

    3.당신은 들러를 사용하는 경우, 당신은 너무 같은 MySQL을위한 적절한 빌드 인수를 설정하기 위해 "번들 설정"을 사용할 수 있습니다 :

    당신은 들러를 사용하는 경우, 당신은 너무 같은 MySQL을위한 적절한 빌드 인수를 설정하기 위해 "번들 설정"을 사용할 수 있습니다 :

    bundle config build.mysql --with-mysql-config=/usr/local/mysql/bin/mysql_config
    
  4. ==============================

    4.나는 오랫동안이 함께 싸운 마지막으로 스노우 레오파드 (Snow Leopard) 작업을 얻었다. 나는 (루비와 루비 젬을 설치하기위한 Hivelogic 자습서를 참조하십시오. MySQL의 튜토리얼은 하단에 링크 된) 소스에서 루비, 루비 젬,와 MySQL을 설치 끝났다. 나는 마지막으로 설치할 수있는 보석을 가지고,하지만 난 여전히 얻고 있었다

    나는 오랫동안이 함께 싸운 마지막으로 스노우 레오파드 (Snow Leopard) 작업을 얻었다. 나는 (루비와 루비 젬을 설치하기위한 Hivelogic 자습서를 참조하십시오. MySQL의 튜토리얼은 하단에 링크 된) 소스에서 루비, 루비 젬,와 MySQL을 설치 끝났다. 나는 마지막으로 설치할 수있는 보석을 가지고,하지만 난 여전히 얻고 있었다

    dyld: lazy symbol binding failed: Symbol not found: _mysql_init
      Referenced from: /Library/Ruby/Site/1.8/universal-darwin10.0/mysql.bundle
      Expected in: flat namespace
    
    dyld: Symbol not found: _mysql_init
      Referenced from: /Library/Ruby/Site/1.8/universal-darwin10.0/mysql.bundle
      Expected in: flat namespace
    
    Trace/BPT trap
    

    드디어 mysql.bundle (나는이가 무엇인지 전혀 모른다)을 삭제하고이 모든 일했다.

    sudo rm -f /Library/Ruby/Site/1.8/universal-darwin10.0/mysql.bundle
    

    누군가가 도움이되기를 바랍니다.

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

    5.나는이 문제를 여러 번 보았다. 기계에 거의 매번 내가 빌드 mysql을. 난 당신이 명령을 설치 보석의 일부로 mysqlconfig을 통과해야, 생각합니다.

    나는이 문제를 여러 번 보았다. 기계에 거의 매번 내가 빌드 mysql을. 난 당신이 명령을 설치 보석의 일부로 mysqlconfig을 통과해야, 생각합니다.

    sudo gem install mysql -- --with-mysql-config=/your/mysql/config
    
    Provided configuration options:
    --with-opt-dir
    --without-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=/usr/bin/ruby
    --with-mysql-config
    

    이 보석을 구축 할 수 있도록 MySQL의 dev에 파일이 필요하다는 것을 기억하십시오.

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

    6.나는 눈 표범을 설치 한 후 작업에 내 구성을 받고 문제가되었다. 나는 http://www.mamp.info에서 MAMP을 발견하고는 아파치, PHP와 MySQL을 번들. 당신은 응용 프로그램처럼 설치하고 그냥 작동합니다. 어쩌면 가치가 그것을 시도를 제공하고는 무료입니다.

    나는 눈 표범을 설치 한 후 작업에 내 구성을 받고 문제가되었다. 나는 http://www.mamp.info에서 MAMP을 발견하고는 아파치, PHP와 MySQL을 번들. 당신은 응용 프로그램처럼 설치하고 그냥 작동합니다. 어쩌면 가치가 그것을 시도를 제공하고는 무료입니다.

    망사

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

    7.나는 여기에 내 자신의 질문에 대답 거라 생각 했어요. 그것은 MySQL의에서 문제의 밤은 것처럼 보이지만, MySQL의 루비 바인딩한다. 내가 Querius (내 MySQL의 GUI)를 엮은 때, 연결할 수 있었기 때문에 나는이 아웃 생각.

    나는 여기에 내 자신의 질문에 대답 거라 생각 했어요. 그것은 MySQL의에서 문제의 밤은 것처럼 보이지만, MySQL의 루비 바인딩한다. 내가 Querius (내 MySQL의 GUI)를 엮은 때, 연결할 수 있었기 때문에 나는이 아웃 생각.

    여기에 바인딩을 수정 소스에서 빌드하는 방법입니다 :

    cd /tmp
    wget http://www.tmtm.org/en/ruby/mysql/ruby-mysql-0.2.6.tar.gz
    tar xvfz ruby-mysql-0.2.6.tar.gz
    cd ruby-mysql-0.2.6
    ./configure
    make
    sudo make install
    

    거기에 내가 스노우 레오파드 (Snow Leopard)에 소스에서 빌드에있을 것이라는 점을 도서관의 많은 그리고 그들은 팝업 유지한다. 난 내 자신에 그것을 할 떨어져있어, 그래서 것 나던 MacPorts를이 libs와 모두를위한 충분한 업데이트합니다. 다음은 : FreeType에서 (http://download.savannah.gnu.org/releases-noredirect/freetype/)

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

    8.이 게시물 (http://www.schmidp.com/2009/06/14/rubyrails-and-mysql-on-snow-leopard-10a380/)에서 설명처럼 진행, 모든 것이 지금 잘 작동합니다.

    이 게시물 (http://www.schmidp.com/2009/06/14/rubyrails-and-mysql-on-snow-leopard-10a380/)에서 설명처럼 진행, 모든 것이 지금 잘 작동합니다.

    MySQL의 드라이버를 설치하기 위해 자신의 명령에 오타 전망대해야합니다.

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

    9.나는이 같은 문제를 가지고 여기에 나를 위해 일한 것입니다.

    나는이 같은 문제를 가지고 여기에 나를 위해 일한 것입니다.

    그것으로 모든 것이 지금까지 작동하는 것 같군. * 나무를 노크 *

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

    10.경우에는 대신 수동으로 MySQL 설치하기에, 사제 선호합니다.

    경우에는 대신 수동으로 MySQL 설치하기에, 사제 선호합니다.

    기존의 MySQL의 보석 (있는 경우)를 제거합니다 :

     sudo gem uninstall mysql 
    

    '되는 mysql_config'파일을 찾습니다

     find /usr -name 'mysql_config' 
    

    MySQL의 보석을 다시 설치합니다 :

     sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-config=/usr/local/bin/mysql_config 
    

    참고 : 해당되는 mysql_config 경로 / / usr / local / bin을 대체 내 블로그에 또한 2 단계에서 발견했다.

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

    11.이안 셀비는 많이 감사하지만 난 sudo는 ENV ARCHFLAGS = 앞에에서 sudo를 제거했다 "- 아치 x86_64에"보석 설치 mysql을 - --with-mysql을 - 설정 = / usr / 지방 / mysql을 / 빈 /되는 mysql_config

    이안 셀비는 많이 감사하지만 난 sudo는 ENV ARCHFLAGS = 앞에에서 sudo를 제거했다 "- 아치 x86_64에"보석 설치 mysql을 - --with-mysql을 - 설정 = / usr / 지방 / mysql을 / 빈 /되는 mysql_config

    나는 gemset에 설치되고 난 당신이 sudo는 키워드를 사용하지 않도록 요구 생각 RVM을 사용하고 있습니다. 덕분에 많이.

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

    12.나는 이런 식으로 해결했습니다 :

    나는 이런 식으로 해결했습니다 :

  13. ==============================

    13.몇 년 동안 레일에서 휴식을 한 데, 난 그냥 내 개발 환경을 설정하는 시간을 보냈다. 그래서 다른 저장 희망에 SnowLeopard에 내 위치에 약간의 시간을 레일 3, MySQL은, 및 RVM의 최신 버전을 설치하는 방법에 대한 자습서를 만들 거라 생각 했어요.

    몇 년 동안 레일에서 휴식을 한 데, 난 그냥 내 개발 환경을 설정하는 시간을 보냈다. 그래서 다른 저장 희망에 SnowLeopard에 내 위치에 약간의 시간을 레일 3, MySQL은, 및 RVM의 최신 버전을 설치하는 방법에 대한 자습서를 만들 거라 생각 했어요.

    그것은 레일 3.0.10, MySQL은 5.5.15 및 RVM 1.7.2을 사용하여 2011 년 8 월 21 일의로 일하고있다. 미래 3.0.x 버전, MySQL은 5.5.x 및 RVM 1.7.x 이상 버전을 레일로 작동합니다.

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

    14.ARCHFLAGS을 설정하고 --mysql-설정을 전달하기위한 지침은 = ... 스노우 레오파드 (Snow Leopard)에 나를 위해이 문제를 해결하는 것은 매우 충분 것 같지 않았다. 그 일을뿐만 아니라, 내가 추가 :

    ARCHFLAGS을 설정하고 --mysql-설정을 전달하기위한 지침은 = ... 스노우 레오파드 (Snow Leopard)에 나를 위해이 문제를 해결하는 것은 매우 충분 것 같지 않았다. 그 일을뿐만 아니라, 내가 추가 :

    DYLD_LIBRARY_PATH="/usr/local/mysql/lib:$DYLD_LIBRARY_PATH"
    

    내 bash는 프로필, 이것은 나를 위해 그것을 해결했다.

  15. ==============================

    15.나는 archflags는 약간의 차이로 여러 번 트릭 시도했지만 나를 위해 일한 적이.

    나는 archflags는 약간의 차이로 여러 번 트릭 시도했지만 나를 위해 일한 적이.

    마지막으로 작업이 눈 표범과 함께 설치된 루비 버전과 보석으로 다시 전환했다 무슨 짓을.

    나는 내장이 하나를 제외하고 모든면에서 나를 위해 일했다 내 자신의 버전을 설치했다. 모든 다른 작업 벌금 것 때문에, 나는 MySQL의 플러그인을 추측하는 것은 그것의 일부 펑키 가정을 가지고 도울 수 없어요. 어쨌든, 한 모든 나는 다시 내 길에 첫 번째로 스위치는 / usr / 빈이었다. 나는 쉽게 전환 할 수 있도록 /usr/local/ruby-1.8.7 및 /usr/local/ruby-1.9.1에 루비를 설치했다. archflags 솔루션은 많은 사람들을 위해 작동하는 것 같다,하지만 확실히 모든 때문에 나는 그것을 언급 거라고 생각했다.

  16. ==============================

    16.나는 보석 설치에서 구성 스크립트를 찾을 수없는 것을 다른 그래서 뭔가 $ MYSQL_HOME / 빈에서되는 mysql_config 프로그램을 이름. 나는 libs와 옵션을 사용했다하더라도, 보석 설치 프로그램은 항상 지방 바이너리 내 MySQL 설치에서 컴파일 설정을 사용했다. 그러나 기본 루비 설치는 x86_64에 따라서 보석의 컴파일이 실패합니다. 되는 mysql_config 프로그램의 이름을 변경 한 후 다음 명령을 잘 근무하고 보석을 설치 :

    나는 보석 설치에서 구성 스크립트를 찾을 수없는 것을 다른 그래서 뭔가 $ MYSQL_HOME / 빈에서되는 mysql_config 프로그램을 이름. 나는 libs와 옵션을 사용했다하더라도, 보석 설치 프로그램은 항상 지방 바이너리 내 MySQL 설치에서 컴파일 설정을 사용했다. 그러나 기본 루비 설치는 x86_64에 따라서 보석의 컴파일이 실패합니다. 되는 mysql_config 프로그램의 이름을 변경 한 후 다음 명령을 잘 근무하고 보석을 설치 :

    sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-dir=/usr/local/mysql
    
  17. ==============================

    17.당신이 RVM와 MySQL의 보석을 설치하는 경우이를 설치하려면 다음 코드를 사용할 필요가

    당신이 RVM와 MySQL의 보석을 설치하는 경우이를 설치하려면 다음 코드를 사용할 필요가

    sudo env ARCHFLAGS="-arch x86_64" gem install mysql
    

    이 방법은 레오파드 서버에서 나를 위해 일한, 위의 아무도 일하지

  18. ==============================

    18.이 문서는 나를 위해 문제를 해결 :)

    이 문서는 나를 위해 문제를 해결 :)

    http://techliberty.blogspot.com/2009/12/dealing-with-rake-aborted-uninitialized.html

  19. from https://stackoverflow.com/questions/991708/rails-mysql-and-snow-leopard by cc-by-sa and MIT license