我正在将一个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实际执行具有此依赖关系?
答案 0 :(得分:0)
在OSX上运行并提交给源代码管理时,我的存储库有一个由Bundler生成的.gem文件缓存。其中一个宝石是OSX二进制文件,db:create调用运行所有初始化程序代码来执行对ORM的调用,因此即使这些模块在db:create函数期间没有被使用,它们也试图加载。