2011-06-06 20 views

Respuesta

10

/etc/init.d/unicorn no sabe dónde encontrar Ruby porque se administra a través de RVM. Normalmente, su .bashrc o archivo similar se ejecuta y configura el entorno; esto no ocurre en los scripts de inicio (o probablemente en cualquier otra cosa ejecutada por root).

La solución es utilizar envoltorios. Por ejemplo, para crear un binario llamado system_ruby que carga el entorno del RVM 1.9.2p180 y luego ruby ejecuta, ejecute el siguiente:

rvm wrapper ruby-1.9.2-p180 system ruby 

Para obtener más información y más detalles, echa un vistazo a this answer of mine, que se dirige a un semejante problema.

+0

ejecuté este comand y nada cambió. '/etc/init.d/unicorn start Iniciando la aplicación DPP.cz.cc:/usr/bin/env: ruby: Ningún archivo o directorio de unicornio. – Kir

+0

Si construye un ejecutable llamado' system_ruby', necesitará para actualizar tu script '/ etc/init.d/unicorn' para usarlo en lugar de' ruby'. –

+0

Solo hay rutas a unicorn.rb y a unicorn binary. ¿Cómo cambiar mi '/ etc/init.d/unicornio'? Está aquí https://gist.github.com/1010519 – Kir

0

Tipo: which ruby (mostrar el camino bin rubí) a continuación, escriba lo siguiente: ln -s (change_to_ruby_path) /usr/bin/env/ruby (construir el acceso correcto para su sistema)

1

enlace simbólico también funciona,

which ruby<your version> 
ln-s /ruby/path/ruby<your version> /ruby/path/ruby 
0

que tenían el mismo problema y esto para mí

rvm --default use <version> 
Cuestiones relacionadas