ruby-on-rails-3 capistrano rvm

ruby on rails 3 - Error de RVM al implementar la aplicación Rails a través de Capistrano



ruby-on-rails-3 (3)

La próxima vez intenta agregar esto en tu capistrano:

set :rvm_type, :system

Historia:

  • Lea en Implementación de la aplicación Rails3 en un servidor Mediatemple DV.
  • Instalado RVM en el servidor, ruby, y gemas esenciales.
  • El sitio funciona bien si lo envío por FTP.
  • Todo bien.

Entonces decidí realizar una implementación y configuración adecuadas para la implementación de GIT / cap según "Agile Web Development with Rails".

  • Se intentó implementar con el límite, pero hubo errores con gemas que no estaban disponibles para el sitio de producción.
  • Lea y se dio cuenta de que probablemente debería ir para una instalación de RVM en todo el sistema.
  • Se eliminaron todas las gemas y RVM.
  • Todo el sistema RVM instalado.
  • Error en la implementación de la tapa "bash: /home/foo/.rvm/bin/rvm-shell: No existe tal archivo o directorio", lo cual tiene sentido, no hay .rvm / en el directorio de inicio.
  • Pensando que algo estaba pasando por la instalación inicial de RVM para usar como usuario, eliminé el usuario, eliminé el directorio de inicio y volví a crear el usuario con permisos.
  • El mismo error en la implementación de la tapa "bash: /home/foo/.rvm/bin/rvm-shell: No existe tal archivo o directorio"

La situación ahora es:

Para foo, .bashrc contiene la última línea:

[[ -s ''/usr/local/lib/rvm'' ]] && source ''/usr/local/lib/rvm''

Cuando emito:

type rvm | head -1

la respuesta es "rvm es una función".

/ etc / rvmrc contiene

if [[ ! -s "$HOME/.rvm/scripts/rvm" ]]; then umask g+w export rvm_selfcontained=0 export rvm_prefix="/usr/local/" fi

Quedando sin ideas aquí, y esperando algunas sugerencias.


Parece que rvm-shell no está en su directorio de instalación de rvm. Ejecuta este comando

rvm get head

Entonces lo tendrás en tu directorio de rvm bin.


Solo quería agregar al comentario de @imonyse.

la rama principal de rvm podría ser un poco demasiado inestable para algunas implementaciones. Sé que nuestras cajas SLES en desuso tienen una tendencia a ahogarse con ellas. Puede ser recomendable obtener la versión estable más reciente.

rvm get stable

Tampoco haga esto en un servidor muy antiguo que ejecute código de producción, ya que puede tener consecuencias no deseadas.