I’m writing a scripting framework where plugins are installed via rubygems and the gem dependencies will be dynamic.
I’d like to use bundler to manage the dependencies since it can be used to specify versions. Ideally with a ~/.framework.plugins file or something related. Is it possible to use a gemfile to load dependencies without a Gemfile.lock being generated? If not is it possible to specify the gemfile.lock be generated in the root of the users home directory. Eg. .framework.plugins.lock ?
AFAIK, it’s not possible – but I do believe that it is essentially an optimization and snapshot tool. After Bundler resolves all the versions required to satisfy your gemset, it will write the dependency tree to Gemfile.lock, so you know exactly what set you’re working with. I believe you can just blow away the Gemfile.lock file, but you will then require Bundler to do the dependency resolution anew every time, and, if dependency versions change, you may find your dependencies messed up because you don’t have a snapshot (lock) of a known working state.
In other words, if you’re happy with your current state, Gemfile.lock will record your state so you know what you’re dealing with – but I don’t think it’s required for bundler to do its dependency management thing. Blow it away if you don’t want it.