簡體   English   中英

如何在本地使用 rbenv 和存儲 gem - 來自 rvm 背景

[英]How to use rbenv and store gems locally - coming from rvm background

我曾經使用 rvm,我想開始嘗試 rbenv。

據我了解,rbenv 在 gems 方面沒有內置相同的隔離,它只管理您的 ruby 版本。

我知道有一個處理 gems 的 rbenv 插件,但我不需要讓它正確嗎?

我仍然可以在本地將 gem 下載到我的項目並為每個命令使用 bundle exec 嗎?

輸入命令時是否有一條捷徑可以讓我不必那么冗長?

請解釋工作流程,因為我不想假設任何事情。

更新

我很困惑如何將寶石加載到單獨的文件夾中。

這是我推薦的:

  1. 使用rbenv進行多個 Ruby 版本管理,無需自定義
    • ruby 安裝程序插件現在包含在 rbenv 中
    • 它還自動處理 ruby 可執行墊片,不再需要rbenv rehash
    • 它加載速度非常快( rvm在 shell 啟動時有明顯的加載時間)
  2. 使用 bundler 在運行時動態解析 gem(下面的選項)
    • 無論如何它已經足夠快了
    • 不需要特殊的 gem 解決方案,現在包含捆綁器 /w Ruby

動態調用捆綁器的選項(我推薦最后一個):

  1. 在每個 ruby 可執行文件前面使用bundle exec
    • 變體:創建alias be='bundle exec'
  2. 為每個項目創建bundle binstubs <LIST GEM EXECUTABLES YOU WANT>
    • 在每個 ruby 可執行文件前面使用bin/來調用 binstubs
  3. 做 #2 然后設置.git/safe
    • 允許您在該項目根目錄中手動允許對bin/文件夾的 PATH 查找
    • 不再需要輸入bin/

現在,多個 gem 版本將全部安裝到同一個 Ruby 版本存儲桶中,並且您讓 bundler 在每次啟動之前將正確的版本動態添加到加載路徑中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM