2011-08-05 104 views
6

不是項目.bundle/config指定與項目相關的配置的重點嗎?爲什麼rails默認忽略.bundle?

+0

您能否提供更多信息?這個文件的內容是什麼,你使用的是什麼版本的bundle和rails? –

+0

rails 3,最新的捆綁器,內容不是什麼,但是由'rails new foo'生成的.gitignore的內容忽略.bundle –

+0

更新了我的回答。 –

回答

11

bundle-configmanpage是說:

該命令允許您使用捆綁的配置 系統進行交互。 Bundler按照該優先順序從本地應用程序 (app/.bundle/config),環境變量和用戶的主目錄 目錄(〜/ .bundle/config)中檢索其配置。 因此,請確保您沒有任何配置文件優先於您要使用的配置文件。

您可以配置此使用bundle config (option),運行bundle config沒有任何選項文件自己或設置選項顯示當前配置。 例如,您可以設置編譯時間選項,它們的mysql的寶石,像這樣:

bundle config build.mysql --with-mysql-config=/usr/local/mysql/bin/mysql_config 

所以,是的,app/.bundle/config用於設置爲當前項目捆綁選項。

編輯: 此更改在commit efa85055中添加到Rails github回購。您可以查看該版本的file herecommit here

的提交信息是從José Valim,並提到你有一個問題關於行:

製作斌/導軌致電軌/命令/應用程序,修復發電機使用 和更新.gitignores。

再次編輯: 這就是爲什麼你不應該檢查.bundle目錄到任何一個VCS quote from bundler

請勿檢入.bundle目錄或其中的任何文件。 這些文件是特定於每臺特定計算機的,並且用於在軟件包安裝 命令的運行之間持續執行的安裝選項 。

+0

這是一個信息豐富的概述,但你沒有回答有關爲什麼默認情況下忽略配置的問題。 :)我認爲顯而易見的一點是,要讓每個用戶都能夠控制每個項目的捆綁器行爲 - 但這太糟糕了,因爲捆綁器和rvm在所有系統上都更加簡單和一致,事情變得更好。 .. –

+0

你是什麼意思被忽略?在文檔中沒有提到這一點,我不認爲這是預期的行爲。如果您在'app/.bundle/config'中設置了選項,則應該使用它們。 –

+0

你的意思是被git忽略。那麼它最有可能是安全問題,而不是開發人員通常通過源代碼包或VCS分發的東西。 –