0

Railsアプリ(他の誰かが作成したもの)をOSXサーバーでの実行からCentOSサーバーに移動し、セットアッププロセス中にコマンドを使用してデータベースを作成しようとしています...

/usr/bin/bundle exec /usr/bin/rake db:create RAILS_ENV=production POSTGRES_DIR=/usr

この呼び出しは次のエラーで失敗します。

libc.dylib: cannot open shared object file: No such file or directory

これは私にはまったく意味がありません。dylibファイルはOSXのものであるため、Rails db:create操作がlibc.dylibを検索する理由がわかりません。標準のLinuxlibc.soをロードするだけではいけませんか?

この依存関係を持つdb:createが実際に実行されているのは何ですか?

4

1 に答える 1

0

私のリポジトリには、OSX での実行時にバンドラーによって生成され、ソース管理に提出された .gem ファイルのキャッシュがありました。それらの gem の 1 つは OSX バイナリでした。db:create 呼び出しは、ORM への呼び出しを実行するためにすべての初期化子コードを実行します。

于 2013-01-30T18:00:07.900 に答える