Acabo de notar un libro de cocina oficial de Symfony que en realidad responde a esta pregunta exacta, citando "Actualmente, probablemente debería comprometer los activos descargados por Bower en lugar de agregar el directorio a su .gitignorearchivo"
Asegúrese de revisar el enlace en la cita, se discuten algunos pros y contras. La principal ventaja que menciona es que registrarlos garantiza que sus dependencias estén siempre disponibles, siempre que su repositorio esté disponible. No importa lo que le pase a Bower, GitHub o cualquier otra cosa que se necesite de otra manera.
Gracias por este interesante articulo. Así que por ahora todavía no tenemos un "archivo de bloqueo" equivalente a congelar las versiones.
Pierre de LESPINAY
1
@PierredeLESPINAY Solo para el nivel superior. Lo que falta es un equivalente de la función npm shrinkwrap.
Passy
3
También dicen esto en su publicación de blog "En última instancia, la elección de si se debe registrar o no todo el directorio / bower_components depende de usted ...".
Krishnaraj
3
El razonamiento detrás de registrarlos es que algún día la biblioteca podría desaparecer de Internet o podría haber algún tiempo de inactividad que a su vez podría causar fallas de compilación. Como usuario de Maven / Gradle, nunca pienso en registrar dependencias.
Krishnaraj
77
El consejo en la página oficial de Bower para verificar los paquetes instalados en el control de origen se eliminó en 2014: github.com/bower/bower.github.io/commit/…
usuario
52
El archivo .gitignore en un proyecto Yeoman AngularJS recientemente generado tiene bower_components (y node_modules) listados para ser ignorados (si no conoce a Yeoman, es una herramienta de andamiaje web de buena reputación para aplicaciones web modernas, ¡eso es lo suficientemente bueno para mí!):
Hay un momento y un lugar para ambos enfoques. Para Yeoman, es apropiado confiar en bower.json porque es una herramienta en una cadena de herramientas y necesita mantenerse vivo y respirar con el ecosistema de Bower. Para una aplicación web desplegable, generalmente es una buena práctica confirmar dependencias y mantener un mayor control.
Si está usando Grunt and Node con Bower, tiene sentido poner bower_components en su .gitignore porque cuando ejecuta grunt serve o grunt build se ocupa de las dependencias por usted, estoy seguro de que es por eso que en Yeoman lo agregan a el .gitignore
El generador Yeoman rellenó previamente el archivo .gitignore con bower_components, pero también rellenó previamente otros directorios que creo que serían necesarios para una aplicación final (como www), así que investigué un poco.
Descubrí que www / index.html es una versión reducida de la aplicación / index.html. El directorio de la aplicación y sus contenidos (incluidos bower_components) contienen los archivos fuente necesarios para el directorio de salida (www). Confirma directorios de origen en control de origen (es decir, git) pero no archivos generados (es decir, www). Los administradores de paquetes como bower y npm están destinados a ser utilizados durante la fase de construcción / generación y sus artefactos no están destinados a ser controlados en el control de origen.
En última instancia, la fuente que verifica en git es la configuración mínima necesaria para construir el resto del proyecto con fines de desarrollo o implementación.
Es bueno ignorar /bower_componentsdir y registrarse solo bower.jsony bower-locker.bower.jsonarchivo si crea un archivo de bloqueo usando bower-locker escrito por Shawn Lonas .
Antes de que se creara el bower-locker, había una desventaja causada por un problema de que el bower no tenía la capacidad de envoltura retráctil, pero puede mitigarse con la biblioteca anterior.
Ejecute los siguientes comandos para lograrlo:
npm install bower-locker -g
o
yarn global add bower-locker
luego genere un archivo de bloqueo basado en el bower.jsonarchivo existente ejecutando:
bower-locker lock
El bower.jsonarchivo original será renombrado abower-locker.bower.json
.gitignore
archivo"Respuestas:
La página oficial de Bower declaró:
Asegúrese de revisar el enlace en la cita, se discuten algunos pros y contras. La principal ventaja que menciona es que registrarlos garantiza que sus dependencias estén siempre disponibles, siempre que su repositorio esté disponible. No importa lo que le pase a Bower, GitHub o cualquier otra cosa que se necesite de otra manera.
fuente
El archivo .gitignore en un proyecto Yeoman AngularJS recientemente generado tiene bower_components (y node_modules) listados para ser ignorados (si no conoce a Yeoman, es una herramienta de andamiaje web de buena reputación para aplicaciones web modernas, ¡eso es lo suficientemente bueno para mí!):
.gitignore
fuente
Hay un momento y un lugar para ambos enfoques. Para Yeoman, es apropiado confiar en bower.json porque es una herramienta en una cadena de herramientas y necesita mantenerse vivo y respirar con el ecosistema de Bower. Para una aplicación web desplegable, generalmente es una buena práctica confirmar dependencias y mantener un mayor control.
Aquí hay un buen artículo que me gusta que discute esto.
fuente
Si está usando Grunt and Node con Bower, tiene sentido poner bower_components en su .gitignore porque cuando ejecuta grunt serve o grunt build se ocupa de las dependencias por usted, estoy seguro de que es por eso que en Yeoman lo agregan a el .gitignore
fuente
El generador Yeoman rellenó previamente el archivo .gitignore con bower_components, pero también rellenó previamente otros directorios que creo que serían necesarios para una aplicación final (como www), así que investigué un poco.
Descubrí que www / index.html es una versión reducida de la aplicación / index.html. El directorio de la aplicación y sus contenidos (incluidos bower_components) contienen los archivos fuente necesarios para el directorio de salida (www). Confirma directorios de origen en control de origen (es decir, git) pero no archivos generados (es decir, www). Los administradores de paquetes como bower y npm están destinados a ser utilizados durante la fase de construcción / generación y sus artefactos no están destinados a ser controlados en el control de origen.
En última instancia, la fuente que verifica en git es la configuración mínima necesaria para construir el resto del proyecto con fines de desarrollo o implementación.
fuente
Es bueno ignorar
/bower_components
dir y registrarse solobower.json
ybower-locker.bower.json
archivo si crea un archivo de bloqueo usando bower-locker escrito por Shawn Lonas .Antes de que se creara el bower-locker, había una desventaja causada por un problema de que el bower no tenía la capacidad de envoltura retráctil, pero puede mitigarse con la biblioteca anterior.
Ejecute los siguientes comandos para lograrlo:
o
luego genere un archivo de bloqueo basado en el
bower.json
archivo existente ejecutando:El
bower.json
archivo original será renombrado abower-locker.bower.json
fuente