ruby - servidor - Instalar gema en la carpeta local
modelo ruby on rails (3)
Tengo privilegios limitados en una máquina compartida que estoy usando, por lo que no puedo instalar gemas de la forma en que estoy acostumbrado. Por ejemplo:
$ gem install request-log-analyzer
ERROR: While executing gem ... (Gem::FilePermissionError)
You don''t have write permissions into the /usr/lib/ruby/gems/1.8 directory.
¿Es posible instalar una gema localmente? (Si importa, estoy tratando de instalar esta gema .)
Vi varias publicaciones en Stack Overflow que hablaban sobre el uso de Bundler o gemfiles, pero no estoy instalando esta gema para un proyecto de Ruby on Rails, solo quiero usarlo de forma aislada.
Estoy ejecutando Linux, aunque no estoy seguro de qué sabor.
Agregue la bandera --local
a su instalación:
gem install --local request-log-analyzer
Si eso causa algún problema, intente descargar la gema manualmente y señalarla directamente usando:
gem install --local path/to/gem/filename.gem
Si desea instalarlo en su casa de usuario, según rubygems :
Cuando usa la opción --user-install, RubyGems instalará las gemas en un directorio dentro de su directorio de inicio, algo como ~ / .gem / ruby / 1.9.1. Los comandos proporcionados por las gemas que instaló terminarán en ~ / .gem / ruby / 1.9.1 / bin. Para que los programas instalados allí estén disponibles para usted, debe agregar ~ / .gem / ruby / 1.9.1 / bin a su variable de entorno PATH.
El comando para esto solo sería
gem install --user-install request-log-analyzer
Puedes probar:
gem install --user-install gem_name
Puedes usar RVM: Ruby Version Manager . Es un administrador de versiones completo, junto con el administrador de versiones de nodos (nvm) y otros, en el sentido de que le permite tener diferentes versiones de ruby y diferentes colecciones de gemas para cada proyecto. Hace el trabajo de mantener las gemas aisladas unas de otras, así como del sistema ruby, pero a expensas de aprender un administrador de versiones completo.
Cuando se ejecuta sin root, se instala localmente en ~ / .rvm y no afecta a otros usuarios.