Explicación de RubyGems carpetas bin y PATH
Oh. No tenías los rieles instalados en tu rvm ruby, pero lo hiciste en el ruby de tu sistema.
Las gemas individuales, como rails
pueden tener un directorio bin
que contendrá scripts de ayudantes ejecutables. Los rubygems por defecto de su sistema están haciendo enlaces simbólicos desde su sistema/usr/bin/dir a la carpeta bin
de la joya para estos ejecutables auxiliares.
RVM ofrece una instalación similar, excepto que en lugar de contaminar el sistema de dir/usr/bin, sólo se añade su carpeta~/.rvm/gems/#{rvm_gemset_string}/bin
a la variable de entorno PATH.
Importación sistema de listas Rubygems en directorios joya nuevos RVM rubíes
RVM por defecto no importará sus gemas de la instalación de sistema de rubí en su rubí RVM instala. Hace una bifurcación completa y limpia de todo el sistema de rubíes, incluidos los rubígemas (gema 'rubygems') y la gema de rubíes. Cuando rvm install 1.9.2
es como si hubiera hecho una instalación completamente nueva de todo lo que se usa con ruby.
Si desea obtener todas las gemas de rubí sistema que estaba utilizando anteriormente en su rubí RVM preferido, intente esto:
rvm use system
rvm gemset export system.gems
rvm use 1.9.2
rvm gemset import system.gems
#You'll now have all your system gems reinstalled to your new ruby version
respuesta original/ediciones de @Telemachus
trate de mover las líneas de esa fuente de RVM al final de su ~/.bash_profile
o ~/.bashrc
(lo que lo tienes en):
'[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function'
.
bash: /usr/bin/rails: /usr/bin/ruby1.8: bad interpreter: No such file ...
| | ^--------------------------------\
^ Bash, not rvm; ^/usr/bin/rails, not ~/.rvm/gems/*/bin/rails; |
Some ruby leftover from a previous install in the os
Usted tiene raíles instalados en /usr/bin
, que es, probablemente, antes de la ruta bin RVM rubí en su variable de fiesta echo $PATH
, por lo que es encontrar el sistema de rieles de instalación (/ usr/bin/rieles, un guión rubí) que comienza de esta manera:
#! /usr/bin/ruby18
tienes que hacen detener el conflicto sucediendo, la mejor de todas las formas posibles es asegurarse de que bin dir de RVM está al principio de su PATH.Esto sucede en el script #Load rvm environment
que agregó a su ~/.bash_profile
al instalar rvm. Si instaló rvm como una biblioteca de sistema en lugar de solo para su usuario, esto será diferente.
Si llega a ese caso, pregunte a @Telemachus.
A continuación, deberá asegurarse de que ha instalado la gema de rieles en su nuevo rvm ruby como se indica anteriormente.
de pruebas de aceptación:
Usted encontrará que cuando se ha hecho rvm use 1.9.2
, entonces which ruby
volverá algo así como ~/.rvm/rubies/1.9.2/bin/ruby
, y which rails
debe devolver algo así como ~/.rvm/gems/*/bin/rails
.
Agregue el resultado de 'rvm info' a su pregunta editándolo. –
'rvm' no instala automáticamente' carriles'. Después de instalar un intérprete de Ruby específico, debe instalar las gemas que desee (incluidos 'rails') para ese intérprete. El problema parece ser que instaló 1.9.2 y lo configuró como predeterminado, pero nunca instaló 'carriles' para ese intérprete. – Telemachus