使用 rbenv 的用户主目录中的全局 Gemfile:好主意?

Global Gemfile in the user's home directory using rbenv: good idea?

我正在使用 rbenv 在我的项目中本地管理我的 gem,但也在全局范围内,在 Linux 盒子上。

当我升级我的全局 ruby 版本(在 ~/.rbenv/version 中设置)时,我总是忘记安装我主要用于开发的一些实用程序 gem。
例如用于 linting 的 rubocop,用于我分散在文件中的一些脚本的 minitest,等等。
使用我的包管理器并不是一个真正灵活的解决方案(不是最新的,很多 gems 没有打包等)。

无论我目前从事的是什么项目,我应该如何继续保留这些我希望始终可以全局访问的 gem 的列表? 我的主目录中应该有一个 Gemfile 和一个 Gemfile.lock 吗?那我怎么能隐藏它们 (.Gemfile/.Gemfile.lock)?

所以一旦我更改全局 ruby 版本,然后

$ gem install bundler
$ bundle

我什么都准备好了运行? 在这种情况下,我是否必须在每个命令前加上 bundle exec?

有没有更好的方法来解决这个我不知道的问题?

我建议使用 rbenv-default-gems

只需将其安装到 rbenv 的插件文件夹中即可:

git clone https://github.com/rbenv/rbenv-default-gems.git $(rbenv root)/plugins/rbenv-default-gems

将名为 default-gems 的文件放入 rbenv 的根文件夹中:

touch $(rbenv root)/default-gems

按名称在 $(rbenv root)/default-gems 中添加宝石,每行一个。您可能需要在名称后选择性地指定版本字符串,或 --pre 以安装预发布版本。例如:

bundler
bcat ~>0.6
rails --pre