bundler zsh

¿Cómo evitar que bundler genere binstubs?



zsh (3)

Bundler genera binstubs por aplicación. Si ejecutó bundle install --binstubs en algún momento en el pasado, Bundler lo recordará y generará binstubs cada vez que ejecute install de nuevo. Para deshabilitarlos, puede ejecutar bundle install --no-binstubs , o ejecutar rm -rf .bundle/config . De cualquier manera, eso deshabilitará la generación de binstub.

Estoy usando oh-my-zsh con plugins=(git bundler) en mi .zshrc . Por lo tanto, no necesito bundler para generar binstubs. Pero Bundler lo hace de todos modos.

➜ bundle Using rake (0.9.2.2) ... Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.

✗ ls bin erubis haml nokogiri rails rake2thor rdoc resque-web sass scss thor tt guard html2haml rackup rake rdiscount resque ri sass-convert thin tilt

¿Por qué se generaron los binstubs? No pasé una opción pidiéndolos. Al menos, no creo que sea:

➜ which bundle /Users/david/.rbenv/shims/bundle ➜ cat /Users/david/.rbenv/shims/bundle

#!/usr/bin/env bash set -e export RBENV_ROOT="/Users/david/.rbenv" exec rbenv exec "${0##*/}" "$@"

Tampoco tengo nada en mi ~/.bundle/config .

¡Por favor, ayúdame a poner el kabosh en los binstubs indeseados!


La opción --no-binstubs no elimina la opción recordada en el paquete 1.5.3!

En su lugar, use bundle config --delete bin , o edite .bundle/config y elimine la línea BUNDLE_BIN del archivo, luego elimine los archivos no deseados del directorio local binstubs.

Ejemplo:

ianh$ cat .bundle/config --- BUNDLE_CACHE_ALL: "true" BUNDLE_BIN: bin ianh$ bundle install --no-binstubs Using rake (10.1.1) ... etc etc ... Using bundler (1.5.3) Updating files in vendor/cache Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed. ianh$ cat .bundle/config --- BUNDLE_CACHE_ALL: "true" BUNDLE_BIN: bin # see ... it didn''t remove the option. ianh$->(15) bundle config --delete bin ianh$ cat .bundle/config --- BUNDLE_CACHE_ALL: "true" ianh$ bundle -v Bundler version 1.5.3


Si aún está recibiendo binstubs después de cambiar su archivo $HOME/users/.bundle/config , es muy probable que tenga otra configuración en algún lugar. Para averiguar dónde ejecutar el comando de seguimiento.

$ bundle config Settings are listed in order of priority. The top value will be used. gem.coc Set for the current user (/Users/username/.bundle/config): "true" gem.mit Set for the current user (/Users/username/.bundle/config): "true" gem.test Set for the current user (/Users/username/.bundle/config): "rspec" build.libv8 Set for the current user (/Users/username/.bundle/config): "--without-system-v8" disable_multisource Set for the current user (/Users/username/.bundle/config): "true" bin Set for your local app (/Users/username/apps/ruby/rails_application/.bundle/config): "bin" Set for the current user (/Users/username/.bundle/config): "false"

Lo que estás buscando es la información del bin . Esta información le proporciona rutas a los archivos que tienen la información de configuración en ellos. lo que puedes hacer para solucionar esto es ir al archivo de configuración y eliminar la línea que dice BUNDLE_BIN: bin that o cambiar bin bin al falso BUNDLE_BIN: ''false''

vi /Users/username/apps/ruby/rails_application/.bundle/config

Si ejecuta bundle config nuevamente, no debería ver bin config o debería ver que está configurado en falso. En este ejemplo, puse el mío en falso para obtener este nuevo resultado

bin Set for your local app (/Users/username/apps/ruby/gscs_ci/.bundle/config): "false" Set for the current user (/Users/username/.bundle/config): "false"

Algo a tener en cuenta, sin embargo, cada aplicación ruby ​​que responde al paquete podría tener su propio .bundle / config personalizado.

Si actualiza todos los .bundle/config no debería tener nuevos archivos creados en el directorio bin cuando ruby bundle o bundle install

Averiguado algo más, a veces piensa que falso es un directorio, por lo que sería mejor simplemente eliminar la línea que BUNDLE_BIN podría ser más simple.