
Espero que mi título no sea confuso. Tengo una máquina CentOS 5 y tenía instalado Ruby 1.8.7 aquí. Entonces, para actualizar mi instalación de Ruby y gems/rails,
Rubí desinstalado:sudo yum eliminar rubí
Descargué la última versión estable de Ruby y la descomprimí:wget... && alquitrán -zxf ....
Pasó por la instalación habitual:
- ./configure --prefix=$INICIO
- hacer
- sudo hacer instalar
Rubígemas descargadas:wget....
ejecutó el archivo de instalación: configuración de rubí.rb
Ahora mi problema es que si intento instalar rieles, lo hago escribiendo:rieles de instalación de gemas, me sale el siguiente mensaje:"-bash: /usr/local/bin/gem: /usr/local/bin/ruby: intérprete incorrecto: permiso denegado"
Así que el siguiente paso lógico (para mí) fue escribir:rieles de instalación de sudo gem, pero eso regresa"sudo: gem: comando no encontrado", lo que significa que he arruinado algo.
Solo para agregar algo más de información.
¿dónde está rubí?:rubí: /usr/lib/rubí /usr/lib64/rubí /usr/local/bin/rubí /usr/local/lib/rubí
cual rubí: ~/bin/rubí
Estoy pensando que al instalar Ruby manualmente desde la fuente he arruinado algo, ¿tal vez --prefix=$HOME es el culpable aquí?
Respuesta1
Parece que no desinstaló el paquete que proporciona el gem
ejecutable, por lo que todavía está en /usr/local/bin/
y apunta al /usr/local/bin/ruby
intérprete que ya no está presente.
Puede desinstalar ese paquete (recomendado, ya que también eliminó el paquete Ruby del que depende), o simplemente asegurarse de ~/bin
que esté antes /usr/local/bin
en su archivo PATH
. (Como alternativa, si tiene acceso de root, puede volver a ejecutar el ./configure
script sin especificar --prefix=${HOME}
y dejar que se instale en /usr/local/bin
, que es el valor predeterminado de Ruby).
Una vez que hayas organizado las cosas para que tu shell encuentre el gem
ejecutable instalado en ~/bin
, deberías poder hacerlo simplemente gem install rails
sin necesidad de sudo
. (O, si realiza la instalación raíz en /usr/local/bin
, asegúrese de gem
que esté en /usr/local/bin/gem
y luego ejecute sudo gem install rails
, como lo intentó antes).
Posiblemente un mejor enfoque hubiera sido considerar cualquiera de los dosrvm
orbenv
, los cuales hacen que administrar múltiples rubíes sea una tarea bastante sencilla. Con cualquiera de estas herramientas, puede tener varias versiones de Ruby instaladas sin la necesidad de eliminar la versión de todo el sistema, que podría ser necesaria para otros paquetes del sistema.