2008-11-05 4 views
0

D'abord un peu d'arrière-plan. J'essaie de lancer Community Engine sur une nouvelle installation d'Ubuntu. CE est un plugin de réseautage social src ouvert fonctionnant sur Rails. J'ai réussi à faire fonctionner CE sur mon boîtier Windows sans problème. J'ai décidé d'utiliser Ubuntu 8.10 comme environnement de développement et je suis bloqué sur ce problème. J'ai fait des recherches pour les deux dernières nuits et je suis toujours coincé.Problème lors de l'exécution de Rails sur Ubuntu

Ce qui se passe est, quand je reçois à cette étape de l'instruction (found here):

Generate the community engine migrations: 

    $ script/generate plugin_migration 

je reçois l'erreur suivante:

[email protected]:~/Projects/MyProject$ script/generate plugin_migration 
/home/myuser/Projects/MyProject/config/../vendor/plugins/engines/boot.rb:4: This version of the engines plugin requires Rails 2.1.1 or later! (RuntimeError) 
    from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require' 
    from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' 
    from /home/myuser/Projects/MyProject/config/environment.rb:12 
    from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require' 
    from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' 
    from /home/myuser/Projects/MyProject/vendor/rails/railties/lib/commands/generate.rb:1 
    from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require' 
    from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' 
    from script/generate:3 

Voici ma version de rubis:

[email protected]:~/Projects/MyProject$ ruby -v 
ruby 1.8.7 (2008-08-11 patchlevel 72) [i486-linux] 

et mes gemmes installées:

[email protected]:~/Projects/MyProject$ gem list 

*** LOCAL GEMS *** 

actionmailer (2.2.0, 2.1.2, 2.1.1) 
actionpack (2.2.0, 2.1.2, 2.1.1) 
activerecord (2.2.0, 2.1.2, 2.1.1) 
activeresource (2.2.0, 2.1.2, 2.1.1) 
activesupport (2.2.0, 2.1.2, 2.1.1) 
aws-s3 (0.5.1) 
builder (2.1.2) 
capistrano (2.5.0) 
cgi_multipart_eof_fix (2.5.0) 
daemons (1.0.10) 
fastthread (1.0.1) 
gem_plugin (0.2.3) 
haml (2.0.4) 
highline (1.4.0) 
hpricot (0.6.164) 
htmlentities (4.0.0) 
mime-types (1.15) 
mongrel (1.1.5) 
net-scp (1.0.1) 
net-sftp (2.0.1) 
net-ssh (2.0.4) 
net-ssh-gateway (1.0.0) 
rails (2.2.0, 2.1.2, 2.1.1) <--- clearly I have rails 2.1.1 or greater 
rake (0.8.3) 
RedCloth (4.1.0) 
rmagick (2.7.1) 
sqlite3-ruby (1.2.4) 
xml-simple (1.0.11) 

J'ai eu cette erreur quand je n'avais que les rails 2.1.1.

Oui, j'ai beaucoup plus de gemmes que j'ai besoin de CE, mais en essayant de dépister cela, c'est ce que j'ai fini avec. Je soupçonne que quel que soit le problème, il est stupide et je devrais l'attraper. Mais à ce stade, je suis devenu très frustré avec ce qui était un processus simple sur une boîte XP.

J'ai posé cette question dans le groupe Google Moteur de communauté, cependant, j'ai le sentiment que cela est plus lié à ma configuration de Ruby et Rails sur ma machine qu'à CE lui-même.

L'aide serait appréciée.

Répondre

2

Cette question a fini par être due à ne pas utiliser sudo pour installer des rails. J'ai fini par souffler complètement le rubis et je l'ai réinstallé.J'ai également prêté une plus grande attention à la sortie des différentes gemmes que je devais installer pour m'assurer qu'elles ont été téléchargées et exécutées. J'ai été surpris de constater que beaucoup d'entre eux ne parviendraient pas à télécharger et devaient être lancés une seconde, voire une troisième fois avant d'être installés.

concernant la suggestion d'Orion, j'avais vérifié le RAILS_GEM_VERSION et c'était 2.1.1 ou plus. C'est ce qui causait le plus de confusion avec ce problème car il disait quelle version était nécessaire, et gem -v me montrerait la bonne version.

+0

Comment avez-vous réellement résolu le problème? par réinstallig ruby ​​?! – zengr

+0

Eh bien, un peu. Depuis que j'étais sur une nouvelle installation, et l'installation d'ubuntu est plutôt indolore, j'ai pavé ma machine et a commencé frais. Gros marteau pour un petit clou, mais c'était beaucoup plus simple. –

+0

http://stackoverflow.com/questions/2762895/error-while-trying-to-install-community-engine-nameerror-undefined-local-vari/2796956#2796956 – zengr

5

Le "problème" ne provient pas de CommunityEngine lui-même, mais du sous-moteur "engine" (http://github.com/lazyatom/engines).

looking at the source code of boot.rb in the engines plugin nous pouvons voir qu'il vérifie simplement les champs Rails :: VERSION standard, donc le problème n'est pas là non plus. Maintenant, lorsque vous créez une application rails, elle est liée à la version spécifique que vous avez utilisée lors de la création de l'application rails. Juste avoir les rails 2.1.1/2 gemmes assis sur votre système ne signifie pas qu'ils vont automatiquement s'habituer.

Pour vérifier l'application de rails elle-même, consultez le fichier config/environment.rb dans l'application rails. Vous verrez quelque chose comme ceci:

# Specifies gem version of Rails to use when vendor/rails is not present 
RAILS_GEM_VERSION = '2.1.0' unless defined? RAILS_GEM_VERSION 

S'il est inférieur à 2.1.1, alors vous devrez mettre à jour votre application rails.
C'est assez simple:

  1. Modifier la chaîne RAILS_GEM_VERSION dans config/environment.rb 2.1.1 ou plus
  2. run rake rails:upgrade

Espérons que cela résout votre problème :-)

Questions connexes