2010-04-10 12 views
5

tengo los siguientes gemas definidos en mi archivo environment.rb:gemas desembalaje [Rails 2.3.5]

config.gem "authlogic" 
    config.gem "paperclip" 
    config.gem "pauldix-feedzirra", :lib => "feedzirra", :source => "http://gems.github.com" 
    config.gem 'whenever', :lib => false, :source => 'http://gemcutter.org/' 

los he instalado en mi equipo local y todo funciona bien. Como estoy trabajando en un servidor compartido (DreamHost), necesito descomprimir esas gemas para que funcionen (no puedo instalarlas como lo hice en mi propia computadora para que funcionen).

Antes de subir, me encontré con el siguiente en mi máquina local:

rake gems:unpack 

Esto crea las siguientes carpetas en /vender/gems:

authlogic-2.1.3, paperclip-2.3.1.1, pauldix-feedzirra-0.0.18, whenever-0.4.1 

lo que parece que están todos allí.

Cuando corro rake db:migrate en el servidor, sin embargo, tengo estas siguiente error:

Missing these required gems: 
    pauldix-feedzirra 

Por alguna razón, el feedzirra envasar no se detecta joya. ¿Alguien podría dar una pista de por qué está sucediendo esto y una posible solución?

Gracias!


EDIT: Gracias, pero el código para poner en environment.rb no funciona, y bundler no se instalará correctamente en el servidor. ¿Cualquier otra sugerencia?

Respuesta

2

Esto no es exactamente una respuesta, pero ya que nunca podría conseguir config.gem funcione correctamente, le recomiendo usar Bundler siempre que puedo. Simplemente funciona y maneja bien las interdependencias entre las gemas. También reemplaza config.gem en Rails 3 por lo que entiendo.

0

Try Following.put este código en envoirment.rb

config.load_paths += Dir["#{RAILS_ROOT}/vendor/gems/**"].map do |dir| 
    File.directory?(lib = "#{dir}/lib") ? lib : dir 
    end 
+0

Gracias, pero esto no parece funcionar ... –

0

No sé si mis sugerencias son útiles, porque feedzirra es una extensión compilada (en contra de CURL, creo). Una mejor solución es instalar normalmente la gema feedzirra (se compilará) en su servidor.


No ha instalado (descomprimido) la gema feedzirra, pero pauldix-feedzirra. Probablemente necesites feedzirra desempaquetar también.

intenta agregar

config.gem feedzirra 

en environment.rb y ejecutar localmente

rake gems:install 
rake gems:unpack 

Parece que feedzirra joya sin embalar no se encuentra en /vendor/plugins. Mira si feedzirra se copiará allí después de esos comandos ...

1

Veo dos cosas sobre feedzirra: primero, depende de otras 3 gemas, y al menos una de esas compilaciones de extensiones nativas. Y voy a llamarlo "feedzirra" - No soy fan del fiasco de autopackaging de github.

Si fuera solo la primera, entonces rastrilla las gemas: desempaquetar: las dependencias harían el truco.

Sin embargo, al menos el bordillo (que depende de feedzirra) está construyendo extensiones, y esas no se pueden simplemente desempaquetar. Puede obtener Dreamhost para instalarlos (buena suerte) o instalarlos en el directorio de gemas local de su usuario.

Para hacer eso, usted necesita actualizar su .gemrc y asegúrese de que incluye una línea como: : user_install: verdadera

Entonces rastrillo gemas: instalar

A menos que su entorno de despliegue ganó Te dejo construir archivos ejecutables, en cuyo caso tendrás que pagar un paquete menos restringido. Sé con certeza que Dreamhost proporciona paquetes que permitirán la extensión de gemas.

(Y ahí está el tema aparte de ser desplegado libcurl ...)

Cuestiones relacionadas