我需要在没有安装任何开发工具的生产服务器上安装许多ruby gem(都带有C扩展名)。我想先在开发服务器上构建gems,然后重新打包并在生产服务器上安装生成的本机gem。
但是,似乎没有标准的方法可以将带有本地扩展的 gem打包以进行重新分发。我知道rake-compiler,但没有任何相关的宝石可以直接使用。具体来说,我正在使用json-1.7.5,rb-inotify-0.8.8和ffi-1.2.1 gem。
任何有关如何执行此任务的指示或有关该主题的文档,将受到赞赏。
您必须将它们构建在几乎完全相同的系统上才能正常工作。如果您链接的共享库位于不同位置或版本略有不同,则它可能根本不起作用。有时你有一些余量,它可以与一系列版本一起工作,但这不能保证。
正是由于这个原因,无法使用本机扩展进行打包,库的可能组合太多了。
您还需要确保使用相同的体系结构,包括根据需要使用 32 位或 64 位。
有时您会很幸运,有一个适合您的操作系统的软件包可以为您安装这些软件包,但这些软件包不能与rvm或 一起使用rbenv。
| 归档时间: |
|
| 查看次数: |
927 次 |
| 最近记录: |