2011-02-04 105 views
0

我是新来的红宝石的宝石,我想知道..如果我使用API​​从红宝石宝石写一个剧本,然后我导出脚本到服务器,它在那里跑,我将不得不安装服务器上的宝石?是否有我知道的方法将它捆绑到我刚刚运行的1个文件中? (就像一个Java JAR)红宝石..出口到服务器?

回答

2

只需提供您的宝石在你的宝石文件中,那么当你部署和服务器上运行bundle install将让所有的依赖关系,包括你的宝石

1

捆扎机安装你的宝石给你,但它不会在你的脚本中包含宝石。 如果你没有很多依赖,你可以尝试简单的解包宝石到一个文件夹,您有权要求按照你的相对路径的宝石,主要的问题是,如果你的一些宝石需要编译本地代码(如角度来说,Hpricot)。 使用

gem unpack GEMNAME 

到脚本文件夹,然后找到主文件,要求在你的代码(usualy在一个lib direcotory进入解包宝石)。 这个工作很容易,只适用于没有链依赖关系的简单宝石。

2

bundle package将您的所有宝石包装到您的rails应用程序。

+0

这使得滑轨的假设OP没有状态。 – 2011-02-05 04:15:56

0

我通常只是在我的应用程序中创建一个供应商目录,并在那里提取你的宝石。 gem unpack gem_name会为你做,或者你可以使用Rails的rake gem:unpack GEM=gem_name

捆扎机是另一个伟大的解决方案,但如果你只是想快速和肮脏的解决方案,然后只要解宝石到您的应用程序,并用它做。