2010-10-21 3 views
0

J'ai plusieurs applications Rails avec la version 2.3.8, que je cours en utilisant le serveur thin. Je veux installer Rails 3.0.1 sur la même machine à des fins de test.Rails 2.3.8 avec thin ne fonctionne pas après l'installation des rails 3.0.1

L'installation a bien fonctionné, mais après avoir installé Rails 3.0.1, en cours d'exécution Rails 2.3.8 applications minces échoue avec cette erreur:

>> Using rails adapter 
Missing the Rails 2.3.8 gem. Please `gem install -v=2.3.8 rails`, 
update your RAILS_GEM_VERSION setting in config/environment.rb for 
the Rails version you do have installed, or comment out RAILS_GEM_VERSION 
to use the latest version installed. 

Il semble y avoir un problème avec la dernière version de crémaillère (1.2.1) installé avec Rails 3. Si je désinstalle le rack 1.2.1 et ne conserve que le rack 1.1.0, mes applications Rails 2.3.8 fonctionnent sans problème.

La spécification de la version rack avec config.gem dans environment.rb ne résout pas le problème. Le décompactage de la gemme rack 1.1.0 dans le répertoire vendor/gems ne change rien non plus. Avec le rack 1.2.1, je n'arrive pas à démarrer mes applications Rails 2.3.8. Sans rack 1.2.1, je ne peux pas démarrer mes applications Rails 3.0.1. Toutes les solutions que j'ai trouvées en ligne concernent le déballage de la gemme rack, mais cela ne semble pas fonctionner pour moi. Y a-t-il autre chose que je devrais faire?

Répondre

0

J'ai réussi à exécuter les deux versions de Rails en installant Ruby deux fois dans des emplacements distincts.

Si quelqu'un trouve un moyen de courir avec un seul Ruby, je serais intéressé de le savoir.

+0

Ce serait RVM ... Mais avec deux rubis. Utilisez simplement RVM et gemsets. – alternative

0

Avait le même problème avec une application Rails 2.3.5 et Mince (1.2.7). Devait:

gem uninstall rack --version 1.2.1 
gem uninstall rack --version 1.1.0 

qui m'a laissé avec la version 1.0.1 ne puis il a bien fonctionné.

Comme vous, je vais être dans un désordre en essayant de faire passer une application dans Rails 3. Une solution est d'utiliser rvm (que je suis déjà) et sa notion de gemsets qui fournissent l'isolation pour des gemmes spécifiques pour des applications. Je n'ai pas encore joué avec ça.

Espérons que les gens «minces» seront triés.

+0

Malheureusement, l'utilisation du rack 1.0.1 ne fonctionne pas pour moi car j'utilise Rails 2.3.8, qui nécessite le rack 1.1.0. –

2

Je viens de Ruby 1.9.2p0 installé en utilisant le système RVM large et j'exécute des applications en utilisant Rails 3 & 2.3.10 sur le même serveur en utilisant Thin.

Vous devez configurer bundler sur vos rails 2.3.10 apps (http://gembundler.com/rails23.html).

Voici l'une de mes applications Gemfiles for a Rails 2.3.10. Il est important de spécifier la version rack.

source :gemcutter 
gem "rack", "~> 1.1.0" 
gem "rails", "~> 2.3.10" 
gem "will_paginate", "~> 2.3.15" 
gem 'haml' 
gem 'mysql2' 
gem 'authlogic' 
gem 'searchlogic' 
gem 'paperclip' 
gem 'thin' 

Pour Rails 2.3.10 vous doivent commencer mince à partir dans le répertoire d'applications utilisant:

bundle exec thin start <options here> 

Si vous utilisez RVM et tentent de lancer des applications à partir d'un script d'initialisation lire ceci: RVM and thin, root vs. local user

Questions connexes