我正在使用rbenv在我的项目中本地管理我的宝石,但也在全球范围内管理我的宝石。
当我碰到我的全局ruby版本(在~/.rbenv/version
中设置)时,我总是忘记安装一些我主要用于开发所需的实用宝石。
例如,rubocop用于linting,minitest用于我散布在文件中的一些脚本,等等
使用我的软件包管理器并不是一个非常灵活的解决方案(不是最新的,许多宝石都没有打包等)。
除了我目前正在进行的项目之外,我应该如何继续保留我希望始终可以全局访问的这些宝石的列表? 我的主目录中是否应该有Gemfile和Gemfile.lock?我怎么能隐藏它们(.Gemfile / .Gemfile.lock)?
因此,一旦我更改了全局ruby版本,那么
$ gem install bundler
$ bundle
我已经准备好了一切?
在这种情况下,我是否必须在每个命令前加bundle exec
?
有没有更好的方法可以解决我不知道的问题?
答案 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