在描述使用rbenv和Bundler配置環境的每個設置中,說明始終使用gem install bundler
將捆綁安裝爲系統寶石。通常,他們也會推薦rbenv-bundler rbenv plugin,但是the maintainers of rbenv discourage this。Rails是否需要安裝爲系統寶石?
沒有說明的是如何安裝Rails。初始化一個新的Rails項目會爲bundler創建一個基本的Gemfile。但是,爲了初始化Rails項目,需要安裝Rails。製作目錄似乎很奇怪甚至是錯誤,編寫一個包含Rails的基本Gemfile,運行bundle install
,然後將Rails初始化爲當前目錄。事實上,我懷疑它甚至可以工作,如果它工作的話。
那麼,Rails是否需要作爲系統寶石安裝?gem install rails
?如果是這樣,那麼如何管理Rails的多個版本,尤其是使用rbenv?
這是有道理的。這是一些重複的工作 - 製作目錄,製作一個Gemfile,然後將該Gemfile移開。這是幾個命令。但它確實讓除Bundler之外的所有東西都存在於供應商(或任何你想稱之爲)的目錄中。 –
將它作爲系統Gem安裝實際上是一個非常糟糕的主意,也許除非使用定製的docker實例。將系統和用戶地圖庫分開是一個好主意。從操作系統角度來看,Rails應用程序基本上是用戶登陸的。所以部署用戶的rbenv更好。 – Tilo
這就是爲什麼我在示例中將寶石安裝到應用程序內的供應商文件夾中的原因。我個人也使用Foreman/Heroku Local管理其他服務(數據庫,Redis等)以將它們隔離到應用程序。 –