2017-01-03 54 views
2

我正在使用rbenv來管理我的寶石,在我的項目中進行本地管理,而且在全球範圍內,在Linux上進行管理。使用rbenv在用戶主目錄下的Global Gemfile:好主意?

當我碰到我的全球紅寶石版本(設置在~/.rbenv/version)時,我總是忘記安裝我的一些實用寶石,我主要需要開發。
例子是用於linting的rubocop,對於我散佈在我的文件中的一些腳本的minitest等。
使用我的軟件包管理器不是一個真正靈活的解決方案(不是最新的,許多寶石沒有打包等)。

無論我目前正在從事哪個項目,我應該如何繼續保持這些寶石的列表,我希望它們始終具有全球可訪問性? 我的家目錄中應該有Gemfile和Gemfile.lock嗎?我怎麼能隱藏它們(.Gemfile/.Gemfile.lock)?

所以,一旦我改變全球紅寶石版本,然後

$ gem install bundler 
$ bundle 

,我所擁有的一切和運行? 在這種情況下,我必須在bundle exec之前加上每個命令嗎?

有沒有更好的方法來管理我不知道的問題?

回答

3

我建議使用rbenv-default-gems

只要將它安裝到rbenv的plugins文件夾:

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添加寶石,每行一個。您可能需要在名稱後面指定版本字符串,或者安裝預發佈版本。例如:

bundler 
bcat ~>0.6 
rails --pre 
+1

確實不錯。我沒有想到在rbenv插件裏面看。出於好奇,你認爲全球Gemfile是可能的嗎? – NicolasWebDev

+0

我從未想過全局的Gemfile。我想知道如果有多個嵌套的Gemfiles與各種版本的相同的寶石,這是如何工作的。對我來說'default-gems'似乎更清晰。 – spickermann