Pregunta

Rails 3.0.0, 2.2.15 Pasajeros:

  • Crear un nuevo proyecto rieles
  • Agregar gem 'paperclip', :git => 'git://github.com/lmumar/paperclip.git', :branch => 'rails3' a su Gemfile
  • bundle install
  • Todo en orden, empezando por rails/script server y acceder también funciona
  • No obstante, cuando se accede a los pasajeros, que dice:

git: //github.com/lmumar/paperclip.git (en rails3) no está desprotegido. Por favor, ejecute bundle install (Bündler :: GitError)

bundler pack

He tratado (no ayuda) y el establecimiento de BUNDER_HOME a ~ / .bundler (GIT Paperclip se instala allí por bundler install) en los lugares .htaccess y varios en config / *. rb, pero esto no fue éxito, también.

~ / .bundler es propiedad del mismo usuario que el proyecto Rails (carreras de pasajeros en virtud de este usuario), por lo que no puede ser un problema de permisos. sudo está instalado y llamado por bundle install.

¿Alguna pista?

¿Fue útil?

Solución 2

La solución (me tomó un par de horas):

Mare seguro de que RAILS_ROOT/.bundle/config (SetEnv etc. no funcionaba para mí) contiene:

--- 
BUNDLE_PATH: /home/xxxxx/.bundler

Nota BUNDLE_PATH, no BUNDLER_PATH! También había una DISABLED_SHARED_GEMS = 1 entrada, lo quité.

Entonces bundler reconoce la ruta correcta incluso cuando está cargado de pasajeros. Sin pasajeros, que siempre trabajó (y /home/xxxxx/.bundler usado, como se dice en la pregunta)

Otros consejos

Im solía tener este problema, determinación utilizando

bundle --deployment

¿Qué va a instalar las gemas en el vendedor / paquete

Se puede utilizar bundle install --path vendor/bundle para instalar las gemas de forma local, en lugar de en gemas del sistema.

Si desea seguir utilizando gemas del sistema, sin embargo, es sólo una línea en la configuración de Apache para contar pasajeros dónde encontrar las gemas del sistema:

SetEnv GEM_HOME /Users/bob/.bundle

Hay una valoración crítica poco más elaborado en mi blog en Uso de pasajeros con el conjunto GEM_HOME

me encontré con este problema al escribir una aplicación Sinatra. Para solucionarlo he añadido esta línea a config.ru .

require 'bundler/setup'

Yo tenía el mismo problema y que era debido a un problema con los derechos de RVM.

El usuario que ejecuta el servidor web no puede comprobar si GIT joya está disponible. Como "pasajeros" con el usuario de la web para funcionar, que no puede hacer esta comprobación.

La solución que encontré fue la de añadir usuario de la web al grupo RVM:

usermod -a -G rvm apache

Espero que esto ayudará a algunas otras personas que no quieren tener GEM desplegado en "vendedor / bundle".

He instalado la gema de pasajeros y su módulo de Apache como usuario sudo y que era el problema en mi caso.

La razón por la que he usado sudo inicialmente fue que he copiado el código del episodio Railscasts' 122. Su instalación sin acceso sodu resuelve este problema. Desde Rubí se ha instalado mediante RVM sin el acceso sudo en mi sistema.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top