簡體   English   中英

“捆綁安裝”是否可以在我的計算機上永久安裝所有必需的gem?

[英]Does 'bundle install' install all the required gems on my computer permanently?

我是Rails的新手,正在學習捆綁器。 我了解bundle install會安裝gemfile中指定的所有gem,但是它將它們安裝到哪里?

它是否將它們永久安裝在我的計算機上,以便將來的任何項目都可以使用它們?

如果是這樣,這是否意味着我的計算機裝滿了我為一個示例項目所需的隨機gem版本和gem install,但可能永遠不會再使用?

默認情況下, bundle install將在根級別進行安裝,因此計算機上的所有用戶都可以訪問gem。 因此,是的,它是永久的(至少不與您的應用程序綁定,您可以隨時刪除它們)。

看看捆扎機手冊頁 在這里,您會注意到您可以指定安裝到本地目錄。

將依賴項(甚至是已經安裝到系統gem的gem)安裝到系統的gem庫以外的位置。 在這種情況下,請將它們安裝到供應商/捆綁銷售商。

$捆綁安裝-路徑供應商/捆綁

進一步的捆綁軟件命令或對Bundler.setup或Bundler.require的調用將記住該位置。

這樣您就可以將gems安裝到應用程序的某個位置。 因此,當刪除示例應用程序時,您還將刪除關聯的gem。

另外,如果您想查看特定gem的安裝位置(例如,您想查看其源代碼),請鍵入bundle show <gemname> 這將吐出通往那顆寶石的道路。

簡短的回答是“是”。 更長的答案是,有些技術將減少或消除與此效應相關的問題。

如果安裝“ RVM”:

https://rvm.io/

這將允許您安裝多個版本的Ruby並創建單獨的“ gemsets”。 當您輸入包含項目的目錄時,將自動獲取ruby版本和gemset設置,並且活動的Ruby版本將更改。 這樣,您就可以將項目之間的寶石分開-並同時使用多個Ruby版本,包括JRuby和其他深奧的版本。

要找出寶石的存儲位置,請輸入:

gem environment

進入命令行,然后在響應中查找INSTALLATION_DIRECTORY條目。

暫無
暫無

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

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