ruby - termux - Bundler: ¿cómo usarlo sin rieles?
gem install bundler termux (4)
Acabo de enterarme de una manera de hacer que Bundler requiera automáticamente dependencias de un Gemfile. Agregue este código al comienzo de un programa Ruby que tiene un Gemfile:
require ''rubygems''
require ''bundler/setup''
Bundler.require
Con Bundler.require no hay necesidad de requerir explícitamente las gemas / bibliotecas enumeradas en el archivo Gem.
Esta solución es de http://technotales.wordpress.com/2010/08/22/bundler-without-rails/
Para ser honesto, no estoy seguro de si la parte que requiere rubygems es necesaria.
Tengo un proyecto utilizando pepino fuera de rieles. ¿Cómo puedo cargar las gemas con las versiones especificadas en mi archivo gem?
Aquí está el enfoque más simple y directo:
-
bundler init
creará el Gemfile para ti - Especifica gemas en el Gemfile.
- Agrega lo siguiente a tu archivo principal de Ruby
require ''bundler/setup''
Bundler.require
- Ejecuta
bundler install
para instalar las gemas.
Se puede encontrar más información (ahora) en http://bundler.io .
Casper tiene una respuesta bastante buena (a pesar de cierta agresividad pasiva), pero creo que la pieza que falta para ti es bundle exec
. Cuando ejecuta los comandos $ rails ...
en la línea de comandos, Rails usa Bundler para cargar esas dependencias / gemas. Rake, por ejemplo, no lo hace de manera predeterminada, por lo que para ejecutar la rake test
utilizando una versión más antigua de cucumber que la que está en su sistema, debe usar la bundle exec rake test
. Es un buen hábito usar siempre $ bundle exec ...
cuando usa Bundler: es explícito, siempre está seguro de que está usando las gemas adecuadas y asegura que no se olvide de agregar una dependencia a su Gemfile (es decir, usted empuja a otro servidor u otro desarrollador y tienen problemas porque no notó la necesidad de algo que usa, pero no lo hacen).
Excavando a través del sitio web de Bundler :
- Crear
Gemfile
(ejecute elbundle init
para crear unGemfile
esqueleto) -
bundle install
En tu aplicación:
# Only needed for ruby 1.8.x require ''rubygems'' # The part that activates bundler in your app require ''bundler/setup'' # require your gems as usual require ''some_gem'' # ...or require all the gems in one statement Bundler.require
Podría valer la pena echarle un vistazo:
Bundler.io - Usando Bundler en su aplicación
Bundler.io - Bundler.setup y Bundler.require
¿Son exec bundle y requieren ''bundler / setup'' equivalente?