具有依赖性的便携式rails应用程序

时间:2012-11-05 18:29:31

标签: ruby-on-rails ruby gem rvm bundler

是否有任何东西可以让rails开发在操作系统中可移植(在所有操作系统中都安装了ruby和rails的先决条件)?

例如:

  1. 我想在Windows中创建名为“iApp”的rails应用程序(已安装Rails 3.2)
  2. 将必要的宝石添加到“Gemfile”并运行“bundle install”

      

    期望:所有依赖项必须安装在“iApp”文件夹

  3. 将iApp文件夹复制到linux计算机(已安装Rails 3.2)

  4. 运行“rake tests”或运行“rails s”
      

    期望:它应该在没有运行“捆绑安装”的情况下开箱即用

  5.      应该可以重复步骤3& 4也在Machintosh中。

    RVM会解决这个问题吗?或者有解决方法吗?

2 个答案:

答案 0 :(得分:1)

您需要更具体地了解您的“依赖性”。

此外,许多宝石都是特定于操作系统的,所以只是在机器之间复制宝石可能不适合你。

您不想在Linux计算机上执行bundle install的任何原因?

答案 1 :(得分:1)

您可以使用捆绑包来获得此功能的大部分好处。您仍然需要运行bundle,但它不会调用任何远程存储库。

请参阅:http://gembundler.com/bundle_package.html

请注意,拥有完全可移植的gem的想法将通过使用本机gems或gems链接本机包来实现(这需要在每台新机器上重新编译)。同样,'捆绑包'会为您解决此问题。