我只是想弄清楚爲什麼當我創建一個新的rails應用程序時,每次運行初始化腳本時,bundler都會安裝新的gem。我無法找到它是否以及在哪裏檢查新的寶石,任何人都有任何想法。我很確定它檢查更新的寶石,但如果有人可以驗證我的假設,我會感覺好多了,知道我的應用程序不會流氓。rails新總是安裝新的寶石
回答
我已經看到了這一點。我最初非常驚慌,但我已經瞭解到,這是因爲您在捆綁時使用的寶石已經在rubygems.org源代碼中發生了變化,並且它們對其他寶石的依賴性發生了變化,在知道它已經看到大量下載的寶石之前,他們只是現有寶石的更新版本。
最小化這個問題的一種方法是爲每個寶石指定版本,但這實際上並不是一種好的方法或實踐,因爲基本上通過鎖定所有通過寶石完成的應用程序來凍結應用程序,並且它們不會向前移動可以很快導致舊的不活動軟件。然而,對於也將被移動並且版本控制被嚴格地控制和測試的生產軟件來說,這可能是非常有用的。當然版本可以在版本號的個案(或寶石級)實例上完成。
你可以嘗試做兩個新的軌道應用程序連續(一分鐘內)來測試。
當我創建一個新的應用程序,我看到:
....
.....
run bundle install
Fetching source index for http://rubygems.org/
Using rake (0.9.2.2)
Using multi_json (1.0.3)
Using activesupport (3.1.2)
Using builder (3.0.0)
Using i18n (0.6.0)
Using activemodel (3.1.2)
Using erubis (2.7.0)
Using rack (1.3.5)
Using rack-cache (1.1)
Installing sprockets (2.1.1)
Installing jquery-rails (1.0.18)
.....
正如你所看到的,只有兩種寶石被安裝,因爲他們最近已更新
確實。它所做的大部分工作只是解決依賴關係,以便第一次生成Gemfile.lock。它實際上不會安裝任何已安裝的東西,但它可能會解決一些比已安裝的更新的依賴項。 – d11wtq
是的,所以它確實檢查更新!這很好,我不是100%肯定它就是這樣做的,我想確保依賴關係在開發階段之間不會中斷。我想這就是Gemfile頂部的源代碼'http://rubygems.org' – lukecampbell
- 1. 安裝新寶石
- 2. Jruby新手:安裝寶石
- 3. Rails - 最新的寶石安裝,但應用程序是舊的
- 4. 重新安裝紅寶石的麻煩
- 5. 重新安裝每個寶石版本的每個寶石?
- 6. Rails - 新安裝的寶石未初始化的常量錯誤
- 7. '寶石安裝'和'sudo寶石安裝'
- 8. 從Winxp到Win7需要重新安裝所有的Rails寶石?
- 9. 如何「重新安裝」一顆寶石?
- 10. 寶石安裝/重新配置在Ubuntu
- 11. 無法安裝任何寶石或更新任何寶石
- 12. 無法更新紅寶石(也不能安裝寶石)
- 13. 寶石安裝紅寶石
- 14. 安裝紅寶石寶石
- 15. 「Gem ...已被刪除,它安裝在」Error。捆綁安裝不會安裝寶石。如何重新安裝寶石?
- 16. 寶石安裝
- 17. Rails和寶石更新
- 18. Rails的不安裝任何寶石
- 19. Ruby和Rails的寶石安裝問題
- 20. 無法安裝on Rails的PG寶石
- 21. 安裝RMagick寶石的Rails 3
- 22. Rails的寶石安裝失敗Rbenv
- 23. 重新包裝紅寶石
- 24. 的Rails 4.0.0紅寶石2.0 therubyracer寶石安裝錯誤
- 25. 我想紅寶石寶石錯誤安裝機架式+ Rails的
- 26. 請安裝libyaml並重新安裝紅寶石
- 27. 創建新的租戶公寓寶石 - 總是重新啓動?
- 28. Rails可以不安裝寶石「UNF」
- 29. Ruby on Rails:無法安裝JSON寶石
- 30. Rails 3中,錯誤安裝PG寶石
沒錯,兩連勝將證明它 – stephenmurdoch
我可以upvote,;) –