2010-10-15 44 views
2

我目前正在开发一个Rails项目在我的电脑中。 我想给我的朋友提供一份项目副本,以便他可以在同一个项目上并行工作。Rails项目是否可以跨各种计算机使用?

是否将项目目录复制到其他系统,有帮助吗?或者我应该多做些什么来把这个项目带到不同的系统。

回答

10
  1. 你的朋友将不得不安装红宝石和所有必要的宝石。复制项目文件夹不会自动安装它们。
  2. 使用某些版本控制系统(例如,Git)可能比只复制目录更好。这样你们俩就可以毫不费力地加入你们的工作成果。
  3. 除非您使用某些特定于平台的功能(例如sendmail),否则您的代码应该可以在任何给定的系统上运行。
+3

@Saran不要忽略第2步在这里。使用源代码管理! – jdl 2010-10-15 20:53:39

+1

Upvote帮助强调VCS的重要性。 :) – Robbie 2010-10-16 00:35:39

1

假设他们安装了服务器组件(以便他们可以测试它),那么您所需要做的就是提供项目目录。

0

你也可以做

 
rake rails:freeze:gems 
rake gems:unpack 

这将复制的environment.rb到供应商指定的文件夹中轨和宝石,让你的朋友就不必安装它们。

2

Rails使用Bundler依赖关系管理器。 Rails 3需要它,您也可以选择将其用于Rails 2和其他Ruby项目。即使您仍在使用Rails 2,您也应该使用它来指定项目所依赖的宝石,以便它们可以安装在需要运行项目的任何环境中。安装捆绑器后,您的合作伙伴需要执行的操作如下:

bundle install 

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

rake db:create 
rake db:migrate 

而不是仅仅复制项目目录,这是必要的,你使用版本控制系统如Git这样你就可以协调二者的更改。这是跟踪谁改变了什么而不覆盖你的合作伙伴工作的唯一合理方式。另外,如果您有更复杂的需求来为开发应用程序服务器设置特定的环境,请参阅Vagrant:它可以帮助您设置用于构建应用程序运行的虚拟机的配方,完成与安装的数据库,红宝石,宝石,Web服务器和其他可能需要的工具版本。

+0

这除了尼基塔Rybak的答案。 – Laz 2010-10-17 13:38:03

0

Heroku云服务将为您提供一个免费的开发账户。 Git和部署命令是一个美好的工作,并将使学习版本控制thouroghly愉快。

http://heroku.com

相关问题