시스템을 EL 6에서 EL 7로 업그레이드 중입니다. Ruby를 사용하여 MySQL 데이터베이스를 설치하는 응용 프로그램이 있습니다. 나는 루비와 보석에 대해 거의 알지 못한다. 그래서 나는 이것이 갈수록 고심하고있다. EL 6에서는 설정 프로세스가 올바르게 작동합니다.CentOS 업그레이드 후 "rubygem mysql error : gem is not loaded"
Specified 'mysql' for database adapter, but the gem is not loaded. Add
gem 'mysql'
to your Gemfile
6에서, 나는 gem list
를 사용하여 설치된 MySQL의 보석 파일을 볼 수 없지만, 설치 과정은 잘 작동하고 적절하게 우리의 데이터베이스를 생성 CentOS는 7 아래 rakefile을 처리 할 때 나는 다음과 같은 오류가 발생합니다.
7 세 미만인 경우 수동으로 실행할 수 있습니다 : gem install mysql --with-mysql-config=/usr/lib64/mysql/mysql_config
. 그런 다음 설치 스크립트가 작동합니다.
대부분의 필수 보석/루비 응용 프로그램은 rpm
을 통해 설치하고 있습니다.
나는이 :
ruby-2.0.0.648-29.el7.x86_64
rubygem-rake-0.9.6-29.el7.noarch
rubygem-activesupport-4.2.5.2-2.fc24.noarch
rubygems-2.0.14.1-29.el7.noarch
rubygem-activemodel-4.2.5.2-1.fc24.noarch
rubygem-activerecord-4.2.5.2-1.fc24.noarch
ruby-mysql-2.8.2-1.el7.x86_64
루비 MySQL은 /usr/local/lib64/ruby/site_ruby/mysql.so
을 만듭니다.
mysql.so
라이브러리는 MySQL 어댑터를 제공합니까? 아니면 mysql 젬을 효과적으로 제공하는 다른 제품이 있습니까? EL 6에서 아무 것도 할 필요가 없지만 EL 7에 특별히 설치해야한다는 것은 혼란입니다.
이것은 경로 문제입니까? 아니면 소스의 주요 변경입니까? 필자는 분명히 Fedora에서 activesupport와 activerecord rpms를 가져오고 있습니다. 그래서 충돌이있을 수 있다고 생각합니다.하지만 알기가 매우 어렵습니다.
내 database.yml
파일은 다음과 같습니다 :
당신의 Gemfile에 :
gem 'mysql2'
및 database.yml을 :
adapter: mysql2
을
adapter: mysql
encoding: utf8
database: mydatabase
username: root
password:
host: 127.0.0.1
port: 3306
만약 Gemfile이 있다면, 당신은 보통'gem install bundler;를 호출 할 것입니다. 번들 설치 '를 선택하여 환경을 설정하십시오. – AlexN
el6 시스템 또는 el7 시스템에서 mysql과 관련된 gem 파일을 찾을 수 없습니다. 사실, 나는 "보석"의 부름에 관한 어떤 언급도 언급하지 않는다. Rakefile과 database.yml과 ruby 마이그레이션 스크립트 만 있습니다. 내가 rpms 중 하나처럼 느껴, activerecord 어쩌면 뭔가 마술을하고 자신의 MySQL의 어댑터를 사용하고 있습니다. –
Gemfile은 스크립트의 루트에 있고'Gemfile'이라고 불립니다. – AlexN