Ruby no recoge .gemrc

Tengo problemas para ejecutar una gema en el sistema ruby: realicé la instalación y la gema se ejecuta cuando rvm ejecuta 1.9.2, pero no se ejecuta en el sistema rvm, aunque eso también es 1.9.2. El sistema operativo es OSX 10.6.8.

Una diferencia importante parece ser GEM_HOME, como se ve en la información de rvm. Esto se establece para rvm 1.9.2, a valores en ~/.gemrc, pero no se establece para el sistema rvm.

Entonces, supongo que el sistema Ruby no está leyendo el archivo .gemrc.

¿Hay alguna forma de verificar esto? ¿Cómo puedo corregirlo?

El sistema Ruby se instaló desde la fuente.

La gema en cuestión es la brújula, versión 0.12.1. Una instalación de 0.11.5 también falló. Además, gem -v es 1.5.3. Eso es una reversión, estaba usando 1.8.24 pero eso también falló y volví a una anterior para ver si eso ayudaba.

preguntado el 03 de mayo de 12 a las 18:05

tratar: rvm mount /path/to/ruby -

1 Respuestas

El sistema Ruby no conoce ninguna gema que haya instalado en Rubies administrados por RVM, ni se preocupará por un .gemrc archivo.

El sistema Ruby es independiente y, para la mayoría de los casos, debe dejarse tal como lo instaló Apple, a menos que realmente sepa por qué está allí y qué afecta. Apple tenía sus propias razones para instalar Ruby y al menos una aplicación instalada por Apple de forma predeterminada en una máquina Mac OS lo requiere. Somos libres de usarlo, pero eliminarlo romperá esa aplicación y actualizarla podría causar problemas que posiblemente no surjan de inmediato, por lo que creo que es mejor simplemente ignorarlo.

Si yo necesitas un Ruby para todo el sistema para una Mac, lo instalaría desde la fuente en /usr/local/bin, que es el lugar apropiado para un reemplazo. Para mi propio desarrollo, uso RVM o rbenv, y dejo que se instalen en mi directorio de inicio, que es el predeterminado. De esa manera, soy libre de perder el tiempo con el contenido de mi corazón, e incluso volarlos, sin ninguna posibilidad de afectar el sistema.

Por cierto, la versión de Ruby no es importante, es qué lo instaló y dónde está instalado.

contestado el 03 de mayo de 12 a las 20:05

Mantuve /usr/bin/ruby, moviéndolo a /usr/bin/ruby.bak mientras experimentaba. Desde entonces lo he restaurado. Las instalaciones se han ido a /usr/local/bin, como sugieres. Pero si system ruby ​​no ejecuta las gemas que necesito, por el motivo que sea, no veo cómo hacer que Apache las ejecute en conexión con las aplicaciones web que estoy desarrollando. ¿Debería mirar algo como Passenger para señalar a Apache en la instalación y el entorno de Ruby adecuados? - Chernevik

Passenger funciona bien en Linux, pero no lo he probado en Mac OS. Si está escribiendo usando una aplicación estándar de tipo CGI que no es para pasajeros, su #! definirá qué Ruby usar si no recuerdo mal. - el hombre de hojalata

es php/symfony2, servido sobre apache (para trabajo de desarrollo). no estoy seguro de entender cómo #! definirá Ruby como una aplicación PHP, probablemente porque no he investigado cómo Ruby / Compass encaja en el marco de Symfony. Chernevik

Por cierto, todo esto funciona bien en Linux, pero lo necesito en mi computadora portátil para poder trabajar en él fuera de la oficina. Chernevik

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.