2010-10-15 7 views
2

Je développe actuellement un projet Rails dans mon ordinateur. Je voudrais donner une copie du projet à mon ami afin qu'il puisse parallèlement travailler sur le même projet.Le projet Rails est-il portable sur différents ordinateurs?

La copie du répertoire du projet vers un autre système aide-t-elle? Ou devrais-je faire plus pour mener le projet à différents systèmes.

Répondre

10
  1. Votre ami devra installer le rubis et toutes les gemmes nécessaires. La copie du dossier de projet ne va pas les installer automatiquement.
  2. L'utilisation d'un système de contrôle de version (par exemple, Git) peut être une meilleure option que la simple copie d'un répertoire. De cette façon, vous serez en mesure de joindre les résultats de votre travail sans douleur.
  3. Votre code doit pouvoir être exécuté sur un système donné, sauf si vous utilisez des fonctionnalités spécifiques à la plate-forme (par exemple, sendmail).
+3

@Saran Ne négligez pas l'étape 2 ici. Utilisez le contrôle de la source! – jdl

+1

Upvote pour aider à souligner l'importance de VCS. :) – Robbie

1

En supposant que les composants du serveur sont installés (afin qu'ils puissent le tester), tout ce que vous devez faire est de fournir le répertoire du projet.

0

Vous pouvez également faire

 
rake rails:freeze:gems 
rake gems:unpack 

Cela copiera les rails et les pierres précieuses spécifiées dans environment.rb dans le dossier du fournisseur, de sorte que votre ami ne pas avoir à les installer.

2

Rails utilise le gestionnaire de dépendances Bundler. Rails 3 l'exige, et vous pouvez choisir de l'utiliser pour Rails 2 et d'autres projets rubis aussi. Même si vous utilisez toujours Rails 2, vous devez l'utiliser pour spécifier les gemmes dont votre projet dépend afin qu'ils puissent être installés dans n'importe quel environnement où le projet doit être exécuté. Avec bundler installé, tout ce que votre partenaire a besoin de faire est d'exécuter:

bundle install 

Vous dépendez également d'une base de données. Pour le développement, sqlite est souvent suffisant et idéal car il utilise simplement un fichier facilement transportable plutôt que de devoir créer/exporter/charger et gérer l'accès utilisateur à quelque chose comme mysql ou postgres. Vous devez vous assurer que la base de données que vous utilisez est installée. Ensuite, exécutez:

rake db:create 
rake db:migrate 

Plutôt que de copier tout le répertoire du projet, il est essentiel que vous utilisez un système de contrôle de version comme Git de sorte que vous pouvez coordonner vos deux changements. C'est le seul moyen raisonnable de savoir qui a changé quoi et de ne pas écraser le travail de votre partenaire. En outre, si vous avez des besoins plus sophistiqués pour configurer un environnement spécifique pour votre serveur d'applications de développement, consultez Vagrant: il peut vous aider à configurer la recette de construction d'une machine virtuelle exécutée par votre application, complète avec la base de données installée, la version de ruby, gems, serveur web, et d'autres utilitaires dont vous pourriez avoir besoin.

+0

Ceci en plus de la réponse de Nikita Rybak. – Laz

0

Le service cloud Heroku vous offre un compte gratuit pour le développement. Git et les commandes de déploiement sont une beauté avec laquelle travailler et rendront l'apprentissage du contrôle de version très agréable.

http://heroku.com

Questions connexes