1

Redmine をOVH相互化サーバーにインストールしようとしていますが、MySQL gem の問題によってブロックされています。OVH サーバーは、外部ネットワーク接続を許可しません。Redmine に必要な依存関係を持つすべての gem を手動でダウンロードしてインストールしました。

問題なく MySQL gems をインストールしました: - mysql 2.8.1 - mysql2 0.3.11

インストールでは、相互化されたインストールと非標準のレイアウトであるため、mysql lib を指定し、フォルダー パスを含める必要がありました。

gem install mysql-2.8.1.gem
    --no-rdoc
    --no-ri
    --
    --with-mysql-config=/usr/bin/mysql_config
    --without-mysql-dir
    --with-mysql-lib=/usr/lib/mysql
    --with-mysql-include=/usr/include/mysql

gem install mysql2-0.3.11.gem
    --no-rdoc
    --no-ri
    --
    --with-mysql-config=/usr/bin/mysql_config
    --without-mysql-dir
    --with-opt-lib=/usr/lib/mysql
    --with-opt-include=/usr/include/mysql

これらの 2 つのコマンドを使用すると、エラーは発生せず、メッセージが表示されます1 gem insalled

面白い手動パッケージ インストール プロセスの後、Redmine インストール チュートリアルに従って環境を初期化しました。

最初のコマンド、シークレット トークンの生成: rake generate_secret_token 2 番目のコマンド、データベース スキーマの構築:RAILS_ENV=production rake db:migrate

最初のものは完全に機能しますが、2番目のものは次のエラーを送信します:

ruby: symbol lookup error: /MYHOMEFOLDER/gems/mysql-2.8.1/lib/mysql_api.so: undefined symbol: mysql_init

この問題を解決する方法を知っている人はいますか?

4

1 に答える 1

1

使用している場合ruby1.9は、mysql2宝石を使用してください。
使用している場合ruby1.8は、mysql宝石を使用してください。

したがって、1.9 を使用している場合は、config/database.yml

production:
  adapter: mysql2

と :

gem install mysql2

Redmine > 1.4 を実行している場合は、Bundler代わりにgem install ...!

于 2012-11-14T10:48:53.770 に答える