2011-11-15 69 views
1

經過長期以來對bunder文檔的閱讀之後,我非常理解爲什麼它與手工gem安裝相比是一件好事。在Capistrano部署Rails 3「捆綁安裝」 - 但如何清理?

但是這只是最近才傳到我(和其他人),現在我們有一個混合環境。我們的開發機器大都很好。但是當我們部署到生產時,Bundler告訴capistrano把這些寶石放在shared/bundle/gems中,這很有道理。但我們仍然在正常的.rvm位置手動安裝了寶石。

所以現在我們知道不要在生產中使用「gem install」,但是當我們直接運行Rake任務時,我們正在處理版本不匹配問題。我想,我們可以使用「bundle exec rake foo:bar」強制正確的行爲。但是現在我們有一堆過時的寶石:

  • 過時的寶石通過安裝捆紮機,我們使用gem install

我想獲得的東西質樸的手工安裝

  • 寶石。我有什麼理由不應該使用gem cleanup

    希望這不是太複雜:-)

    在此先感謝。

  • 回答

    1

    gem cleanup將保留所有寶石的最新版本,並刪除舊版本。我想你想要的是:

    1. (可選)爲您的項目創建一個RVM gemset。 (我喜歡這樣做;有些人完全依賴Bundler,它也可以工作。)
    2. 確保您的Gemfile中指定了所有頂級依賴項。
    3. 刪除所有寶石(rvm gemset empty可能會有所幫助),除了Bundler。
    4. bundle install
    5. 從現在開始用bundle exec運行一切。
    +0

    謝謝Marnen!正如我已經做了進一步的研究,我相信這會起作用。 –

    相關問題