2010-10-15 4 views
2

В настоящее время я разрабатываю проект Rails на своем компьютере. Я хотел бы передать копию проекта моему другу, чтобы он мог параллельно работать над тем же проектом.Проект Rails переносится на разных компьютерах?

Выполняет ли копирование каталога проекта в другую систему, помогите? Или я должен сделать больше для переноса проекта в разные системы.

ответ

10
  1. Вашему другу придется установить рубин и все необходимые драгоценные камни. Копирование папки проекта не будет автоматически устанавливаться.
  2. Использование некоторой системы управления версиями (например, Git) может быть лучшим вариантом, чем просто копирование каталога. Таким образом, вы оба сможете безболезненно объединить результаты своей работы.
  3. Ваш код должен быть запущен в любой системе, если вы не используете некоторые функции, специфичные для платформы (например, sendmail).
+3

@Saran Не упускать из виду шаг 2 здесь. Используйте источник управления! – jdl

+1

Upvote, чтобы помочь подчеркнуть важность VCS. :) – Robbie

1

Предполагая, что у них установлены серверные компоненты (чтобы они могли протестировать их), все, что вам нужно сделать, это предоставить каталог проекта.

0

Вы также можете сделать

 
rake rails:freeze:gems 
rake gems:unpack 

Это скопирует рельсы и драгоценных камней, указанных в environment.rb к папке поставщика, так что ваш друг не придется устанавливать их.

2

Rails использует диспетчер зависимостей Bundler. Rails 3 требует этого, и вы можете использовать его для Rails 2 и других проектов ruby. Даже если вы все еще используете Rails 2, вы должны использовать его, чтобы указать драгоценные камни, от которых зависит ваш проект, чтобы они могли быть установлены в любой среде, где должен выполняться проект. С установленным комплектатором необходимо выполнить весь ваш партнер:

bundle install 

Вы также будете зависеть от базы данных. Для разработки часто sqlite является достаточным и идеальным, поскольку он просто использует легко переносимый файл, а не создает/dump/load и управляет доступом пользователя к чему-то вроде mysql или postgres. Вы должны убедиться, что база данных, которую вы используете, установлена. Затем запустите:

rake db:create 
rake db:migrate 

Вместо того чтобы просто скопировать каталог проекта, очень важно, что вы используете систему контроля версий, как Git, так что вы можете координировать оба изменения. Это единственный разумный способ отслеживать, кто что изменил, а не перезаписывать работу вашего партнера.

Кроме того, если у вас есть более сложные потребности в настройке конкретной среды для вашего сервера приложений разработки, посмотрите на Vagrant: он может помочь вам настроить рецепт для создания виртуальной машины, в которой работает приложение. с установленной базой данных, версией рубинов, драгоценных камней, веб-сервера и других утилит, которые могут вам понадобиться.

+0

Это в дополнение к ответу Никиты Рыбака. – Laz

0

Служба облаков Heroku предоставит вам бесплатную учетную запись для разработки. Git и развертывание команд - это красавица, с которой можно работать, и узнает о том, что управление версиями очень приятно.

http://heroku.com