Rails项目是否可以在各种计算机上移植?

时间:2010-10-15 19:41:00

标签: ruby-on-rails ruby-on-rails-3

我目前正在计算机上开发一个Rails项目。 我想把一个项目副本交给我的朋友,这样他就可以在同一个项目上平行工作。

将项目目录复制到其他系统,有帮助吗?或者我应该做更多的工作来将项目带到不同的系统。

5 个答案:

答案 0 :(得分:10)

  1. 你的朋友必须安装红宝石和所有必需的宝石。复制项目文件夹不会自动安装它们。
  2. 使用某些版本控制系统(例如Git)可能是比复制目录更好的选择。通过这种方式,您可以轻松地加入您的工作成果。
  3. 您的代码应该可以在任何给定的系统上运行,除非您使用某些特定于平台的功能(例如,sendmail)。

答案 1 :(得分:2)

Rails使用Bundler依赖项管理器。 Rails 3需要它,你也可以选择将它用于Rails 2和其他ruby项目。即使您仍在使用Rails 2,您也应该使用它来指定项目所依赖的gem,以便它们可以安装在需要运行项目的任何环境中。安装了bundler后,您的所有合作伙伴需要执行的操作:

bundle install

您还将依赖数据库。对于开发,通常sqlite是足够和理想的,因为它只使用易于传输的文件,而不是必须创建/转储/加载和管理用户访问mysql或postgres之类的东西。您需要确保安装了您正在使用的数据库。然后,运行:

rake db:create
rake db:migrate

不仅仅是复制项目目录,您必须使用像Git这样的版本控制系统,以便您可以协调两个更改。这是跟踪谁更改了内容而不是覆盖合作伙伴工作的唯一合理方式。

此外,如果您有更复杂的需求为开发应用服务器设置特定环境,请查看Vagrant:它可以帮助您设置构建应用运行的虚拟机的配方in,包括已安装的数据库,ruby版本,gems,web服务器以及您可能需要的其他实用程序。

答案 2 :(得分:1)

假设他们已经安装了服务器组件(因此他们可以对其进行测试),您需要做的就是提供项目目录。

答案 3 :(得分:0)

您也可以

rake rails:freeze:gems
rake gems:unpack

这会将environment.rb中指定的rails和gem复制到vendor文件夹,因此您的朋友不必安装它们。

答案 4 :(得分:0)

Heroku云服务将为您提供免费的开发帐户。 Git和部署命令是一种可以使用的美妙功能,可以让您轻松学习版本控制。

http://heroku.com