necesito para ejecutar un montón de guiones de rubí que he escrito en un servidor que no tengo acceso a sudo.
En mi propia máquina, he instalado un montón de gemas usando 'sudo gem install ..' y las uso en mi código ...
¿Hay algún mecanismo que me permita usar estas gemas sin instalarlas formalmente en un control remoto? ¿máquina?Usando una joya sin instalarlo
Respuesta
Se pueden instalar en un directorio de usuario: http://docs.rubygems.org/read/chapter/3#page83
esto parece que le permite instalar las gemas cualquier lugar que desee.
Puede, pero es complicado.
En primer lugar, instalarlos utilizando la opción --install-dir
, es decir:
gem install gem_name --install-dir /some/directory/you/can/write/to
En segundo lugar, asegúrese de que tiene un archivo .gemrc
en su directorio principal que se ve algo como esto:
gemhome: /some/directory/you/can/write/to
gempath:
- /some/directory/you/can/write/to
- /usr/local/lib/ruby/gems/1.8
gemhome
es donde las gemas deben verse primero cuando buscan una gema. gempath
son todas las rutas que debe verificar al buscar una gema. Así, en el .gemrc
arriba, yo estoy diciendo mi código para mirar primero en el directorio local, y si no lo encuentra, compruebe el directorio joya del sistema.
En tercer lugar, tenga en cuenta que un cierto código - código incluso dentro de las gemas - puede hacer suposiciones acerca de dónde se encuentran las gemas. Algunos código puede alterar mediante programación gempath
o gemhome
. Es posible que deba "alterarlo" en su propio código.
No hay mucha (leer: no) documentación sobre cómo hacerlo - la mejor manera de averiguarlo es leer las pruebas que se incluyen con la fuente de RubyGems. Aquí es cómo hackear los caminos de gemas en una tarea rastrillo para apuntar a mi versión congelada de Capistrano:
Gem.use_paths(Gem.dir, ["#{RAILS_ROOT}/vendor/gems"])
Gem.refresh # picks up path changes
hecho, me hacer esto todo el tiempo (todas mis joyas se instalan en ~ /.gem) y aún no han encontrado ningún código que se porta mal, ni les resulta tan difícil. Pero YMMV. – rampion
Interesante, me pregunto si ~/.gem es un caso especial. Normalmente trato de hacer referencia a las gemas instaladas en una aplicación. –
- 1. ¿Cómo puedo instalar una joya local?
- 2. ¿Cómo descargo un paquete de apt-get sin instalarlo?
- 3. ¿Cómo puedo probar un nuevo idioma o marco sin instalarlo?
- 4. Determinación de la versión de un MSI sin instalarlo
- 5. de texto en Heroku usando joya pg_search
- 6. ¿Es posible instalarlo en la aplicación iOS sin itunes?
- 7. Usando la clase JRuby suministrada en una joya de Clojure
- 8. cómo reiniciar trabajador Heroku Heroku usando joya
- 9. "Gamificación" joya?
- 10. ¿Cómo puedo forzar joya joya para actualizar a 1.3.1
- 11. ¿Cuál es la diferencia entre 'joya JSON" y 'joya json_pure'?
- 12. veo joya en "lista de joya", pero tienen "No existe el fichero a cargar"
- 13. ¿Cómo puedo extender ApplicationController en una joya?
- 14. joyero añade dependencia circular a mi joya
- 15. Añadir automáticamente middleware bastidor con una joya
- 16. tratando de extender Facebook token de OAuth usando koala joya
- 17. ¿Hay alguna manera de restablecer un DbContext sin desecharlo y volver a instalarlo?
- 18. ¿Cómo convertir una aplicación de rieles a una joya?
- 19. Ruby joya estadística
- 20. RVM/degradación bundler joya
- 21. Ruby "correo" docs joya
- 22. RVM permisos joya de error
- 23. NoMethodError con delayed_job (joya collectiveidea)
- 24. Timecop joya para los alcances
- 25. Iniciar el archivo IPA después de instalarlo en el dispositivo
- 26. joya CanCan para MVC NET
- 27. carriles - Siempre joya - valores dinámicos
- 28. instalación joya mysql2 en Linux
- 29. Gem Comando no encontrado joya
- 30. ¿Dónde entra el inicializador Rails en una joya?
lo digo, la página vinculada ya no funciona –