¿Cómo puedo modificar un archivo * .gem existente? Quiero modificar un Rakefile en una joya para que pueda compilarse en Windows.Cómo modificar una gema Ruby
Respuesta
Puede gem unpack
, añadir su modificación, a continuación, modificar el gemspec si es necesario y construir de nuevo:
Quizás una manera amigable fuente más aceptable y abierto hacer esto sería verificar si la fuente de la gema está disponible en algo como github. Luego, crea una horquilla del código de la gema, haz los cambios y envía una solicitud de extracción. Lo más probable es que alguien más quiera esa funcionalidad también y será anunciado por su contribución.
Si carece de un gemspec de la gema, extraerla con este comando:
gem spec my_gem --ruby > my_gem.gemspec
Por supuesto la sustitución de my_gem con el nombre joya apropiada. Edite el archivo resultante para que quepa (en un ejemplo, tuve que eliminar una línea que causó un error), y debería estar listo para continuar.
¡Gracias! Eso fue crucial – Anwar
Las nuevas versiones de bundler le permiten hacer esto con el comando siguiente:
bundle open gem_to_edit
Esto abrirá el código joya en su editor de texto predeterminado.
(Pista:. Si usted está en Mac OS X/Linux, se puede especificar su editor de texto predeterminado cambiando la variable $ EDITOR Digamos que usted está en la fiesta, usted podría abrir su ~/.bash_profile
y agrega: export EDITOR='subl -w'
para configurar Sublime Texto como su editor predeterminado)
Descargue su código fuente en una carpeta separada (tal vez desde github). Luego modifique su Gemfile para que apunte a la fuente directamente, de modo que pueda editarla y probar sus cambios directamente.
Por ejemplo, supongamos que quiere editar la gema secure_headers y que la ha clonado en ~/workspace/secureheaders. A continuación, puede utilizar el siguiente en su Gemfile:
gem 'secure_headers', :path => "~/workspace/secureheaders"
continuación, basta con modificar los archivos de origen en el interior del árbol de fuentes y usted debería ser capaz de ver los cambios aplicados directamente.
- 1. Ruby: ¿Cómo escribir una gema?
- 2. ¿Qué es una gema Ruby?
- 3. ¿Cómo ejecuto una gema de Ruby?
- 4. gema matemática Ruby
- 5. Modificar uno mismo, Ruby
- 6. ¿Cómo acceder a la versión de una gema desde Ruby?
- 7. ¿Cómo incluir un controlador con una gema Ruby on Rails?
- 8. Ruby on Rails: ¿Eliminar una dependencia al instalar una gema?
- 9. ¿Cómo eliminar una ruta de gema?
- 10. Ruby, Rails: gema mysql2, ¿alguien usa esta gema? ¿Es estable?
- 11. Ruby gema listada, pero no se cargará (gema en dir de usuario, no ruby dir)
- 12. Detectar parada con la gema Ruby Daemons
- 13. Acceso a los archivos empaquetados en una gema Ruby
- 14. ¿Cómo envuelvo una extensión Ruby C en una Ruby Gem?
- 15. Ruby: lista de correo biblioteca o gema
- 16. Rails/Ruby: ¿Qué gema puede crear una imagen con texto?
- 17. ¿Es posible descargar una gema Ruby sin instalarla automáticamente?
- 18. ruby: código para instalar gema si falta
- 19. Instalación de gema bcrypt-ruby en Windows
- 20. ¿Cómo necesito una versión específica de una gema de rubí?
- 21. Ruby LESS equivalente de gema en Python
- 22. ¿Cómo eliminar la gema de la aplicación Ruby on Rails?
- 23. ¿Cómo me registro correctamente dentro de mi gema Ruby?
- 24. ¿Cómo reemplazar la gema Unicode en Ruby 1.9?
- 25. Aplicación Sinatra en una gema
- 26. Viendo el código fuente de una gema
- 27. Después de instalar una gema en un script, ¿cómo cargo la gema?
- 28. Cómo escribir hipervínculos usando una gema de hoja de cálculo en Ruby?
- 29. ¿Cómo instalo la gema Ruby libv8 en una instalación nueva de Mountain Lion?
- 30. cómo añadir una gema en el paquete
Todos estos tienen bucles de redirección ahora. – CiscoIPPhone
Supongo que nunca sabremos cómo construirlo de nuevo – FloatingRock
Actualizado los enlaces. –