Parece una característica extraña que rubygems quiere saber cuáles son mis dependencias de desarrollo, hasta ahora nunca vi que solía cargarlas al ejecutar las pruebas de gemas.¿Por qué debería agregar dependencias de desarrollo a mi gemspec?
Respuesta
Si alguien decide piratear su gema por cualquier motivo, p. lo bifurcan en Github para agregarle una función (que pueden querer contribuir), es útil saber qué dependencias de desarrollo necesita su gema (por ejemplo, pruebas de marcos, herramientas de burla, etc.).
Si está utilizando bundler con el comando gemspec
, que se enganchará en sus dependencias gemspec e instalar las dependencias de desarrollo, junto con los de tiempo de ejecución cuando se ejecuta
bundle install
Esto le ahorra tener que instalar estas joyas a mano.
El comando joya También puede enumerar todas las dependencias de una joya entre ellos los dedicados al desarrollo:
gem dependency my_gem
Gem my_gem-0.1.3
activerecord (~> 3.0.0)
json (~> 1.4.3, development)
rake (>= 0, development)
rspec (~> 2.5.0, development)
ruby-openid (~> 2.1.0)
Una vez más, esto es probablemente más para otras personas más que por sí mismo.
Mis gemas tienen normalmente una prueba de unidad. Esta prueba requiere a veces gemas, que no son necesarias para usar la gema. O quizás necesites gemas adicionales para generar partes de la gema.
Una vez que un mal uso dependencias de desarrollo para definir '' dependecies opcionales (dependecies eran necesarios para algunas características de mi joya, pero no es necesario para el uso 'normal').
Ejemplo: Mi aplicación ofrece la posibilidad de exportar a un archivo como texto o PDF. La generación de PDF usa prawn. Así que la gamba es una dependencia, pero no es necesario usar la aplicación, solo una característica específica lo necesita.
Así que no agregué gambas a las dependencias de gemas (no es necesario), sino a las dependencias de desarrollo (es útil para la gema).
- 1. ¿Por qué usar GemSpec + GemFile cuando busca dependencias?
- 2. ¿Dónde debería crear mi blog de desarrollo?
- 3. ¿Por qué debería usar Desarrollo controlado por características?
- 4. ¿Qué pasa con gemspec?
- 5. Dependencias y referencias: ¿a qué debería hacer referencia exactamente?
- 6. ¿Por qué debería practicar Desarrollo controlado por prueba y cómo debería comenzar?
- 7. ¿Por qué mi pequeña empresa de desarrollo .NET debería actualizarse de Team Foundation Server 2008 a 2010?
- 8. ¿Por qué no puedo agregar localización a mi aplicación iOS?
- 9. ¿Por qué debería seleccionar Moles como mi marco de burla?
- 10. ¿Qué versión de Windows 7 debería instalar en mi PC de desarrollo?
- 11. ¿Por qué no debería dar acceso a personas de afuera a mi base de datos?
- 12. estado de git: ¿qué es UU y por qué debería agregar/rm corregirlo?
- 13. ¿Por qué debería usar Flex?
- 14. Agregar dependencias de tareas a Rake :: TestTask
- 15. ¿Debería preocuparme por ofuscar mi código .NET?
- 16. ¿Por qué debería usar @properties?
- 17. ¿Por qué debería (o no debería) escribir mi nuevo sitio web en HTML 5 y CSS3?
- 18. ¿Por qué no debería llamar a setVisible (verdadero) antes de agregar componentes?
- 19. ¿Por qué debería aprender COM?
- 20. Maven para copiar JAR al agregar dependencias
- 21. ¿por qué 'rake test' intenta conectarse a mi DB de desarrollo?
- 22. ¿Por qué se queja de dependencias circulares?
- 23. ¿Por qué debería usar la palabra clave "using" para acceder a mi método de clase base?
- 24. ¿Qué versión de Python debería usar para el desarrollo web?
- 25. Desarrollo de JavaScript: ¿cuándo debería comenzar a hacer pruebas unitarias?
- 26. ¿Por qué debería usar Drools?
- 27. ¿Cómo puedo hacer dependencias gemspec carga automática en una aplicación Rails 3, utilizando un Gemfile
- 28. ¿Por qué debería aprender C++
- 29. ¿Por qué debería usar MXML?
- 30. ¿Por qué debería usar Core Data para mi aplicación de iPhone?
Uso un Gemfile para el primero, y el segundo es un poco inútil, pero es bueno saber que no hay nada más en marcha :) – grosser