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

时间:2017-01-03 20:23:03

标签: ruby rubygems bundler rbenv

我正在使用rbenv在我的项目中本地管理我的宝石,但也在全球范围内管理我的宝石。

当我碰到我的全局ruby版本(在~/.rbenv/version中设置)时,我总是忘记安装一些我主要用于开发所需的实用宝石。
例如,rubocop用于linting,minitest用于我散布在文件中的一些脚本,等等 使用我的软件包管理器并不是一个非常灵活的解决方案(不是最新的,许多宝石都没有打包等)。

除了我目前正在进行的项目之外,我应该如何继续保留我希望始终可以全局访问的这些宝石的列表? 我的主目录中是否应该有Gemfile和Gemfile.lock?我怎么能隐藏它们(.Gemfile / .Gemfile.lock)?

因此,一旦我更改了全局ruby版本,那么

$ gem install bundler
$ bundle

我已经准备好了一切? 在这种情况下,我是否必须在每个命令前加bundle exec

有没有更好的方法可以解决我不知道的问题?

1 个答案:

答案 0 :(得分:3)

我建议使用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