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?它不应该只是加载标准的 Linux libc.so 吗?

什么是 db:create 实际执行的具有这种依赖性的?

4

1 回答 1

0

当在 OSX 上运行并提交给源代码管理时,我的存储库有一个由捆绑程序生成的 .gem 文件的缓存。这些 gem 之一是 OSX 二进制文件,db:create 调用贯穿所有初始化程序代码以执行对 ORM 的调用,因此即使在 db:create 函数期间未使用这些模块,它们也试图加载。

于 2013-01-30T18:00:07.900 回答