J'essaie d'obtenir memcached et le plugin Interlock fonctionne avec une nouvelle application rails. La chose étrange est qu'ils fonctionnent tous les deux bien dans une autre application sur la même machine et je ne peux pas comprendre la différence qui arrête cette application. La nouvelle application est rails 2.3.4 et l'ancien est 2.2.2 dans le cas où c'est un facteur.Problème 'memcache-client' - l'application ne peut pas charger la gemme
Lorsque l'application démarre, je reçois un avertissement de verrouillage:
`install_memcached':Interlock::ConfigurationError: 'memcache-client' client requested but not installed. Try 'sudo gem install memcache-client'.
Maintenant, je suis memcache-client installé:
$> gem list | grep memcache
memcache-client (1.7.8)
Le joyau est dans/var/lib/gemmes/1.8, qui est dans ma variable GEM_PATH.
Pour un peu plus d'investigations, l'erreur ci-dessus est déclenchée par un verrouillage quand il fait référence à la classe MemCache, qui n'existe pas et déclenche donc une erreur 'module anonyme'. Donc, finalement, le problème est que MemCache n'est pas chargé. J'ai un memcached.yml dans mon dossier de config (ci-dessous) cependant. Je suis coincé - un conseil n'importe qui?
#contents of config/memcached.yml
defaults:
namespace: millionaire
#sessions: true
sessions: false
client: memcache-client
with_finders: true
development:
servers:
- 127.0.0.1:11211
production:
servers:
- 127.0.0.1:11211
EDIT - résolu
La question a été la façon dont je l'IPF précisant utiliser: je devais mettre dans mon fichier de configuration/environment.rb:
config.gem « memcache- client ",: version => '1.5.0',: lib =>" memcache "
Cela semble être nécessaire lorsque j'utilise des gems où le dossier lib n'est pas appelé lib ou le fichier principal dans le dossier lib n'a pas le même nom que la gemme: je dois spécifier le nom de lib/fichier avec l'option: lib. Un peu confus à ce sujet encore, mais au moins cela fonctionne.
Merci Shingara. J'ai maintenant désinstallé toutes les versions de memcache-client que j'avais et installé 1.5.0. Interlock est toujours en train de chier quand je démarre, avec la même erreur, c'est-à-dire que la classe MemCache n'est pas définie. Ai-je besoin de faire quelque chose dans les rails pour utiliser memcache-client, en plus d'avoir un fichier memcached.yml? Je ne le demande pas par exemple. merci, max –
Vous utilisez le dernier plugin Interlock? – shingara
C'est l'un de http://blog.evanweaver.com/files/doc/fauna/interlock/files/README.html Je l'ai fonctionné maintenant btw - voir la publication principale avec nouvelle édition. –