我只是想弄清楚爲什麼當我創建一個新的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. Rails - 新安裝的寶石未初始化的常量錯誤
- 3. '寶石安裝'和'sudo寶石安裝'
- 4. 寶石安裝/重新配置在Ubuntu
- 5. 如何「重新安裝」一顆寶石?
- 6. 無法更新紅寶石(也不能安裝寶石)
- 7. 寶石安裝紅寶石
- 8. Rails的不安裝任何寶石
- 9. 無法安裝on Rails的PG寶石
- 10. 創建新的租戶公寓寶石 - 總是重新啓動?
- 11. ubuntu紅寶石在rails安裝
- 12. 耙寶石:安裝,如何防止安裝特定的寶石?
- 13. 安裝RMagick寶石
- 14. 粉寶石,安裝
- 15. mysql2寶石安裝
- 16. 紅寶石安裝
- 17. '寶石更新 - 系統'會讓我以前安裝的寶石不兼容嗎?
- 18. 紅寶石mysql2寶石安裝問題
- 19. 錯誤而安裝紅寶石寶石
- 20. 無法安裝鶯紅寶石寶石
- 21. 錯誤安裝JSON紅寶石寶石
- 22. 紅寶石1.9.2安裝和寶石
- 23. NSIS安裝紅寶石寶石
- 24. 防止whenenver寶石寶石從安裝
- 25. 安裝紅寶石寶石在Windows
- 26. 安裝MySQL寶石紅寶石
- 27. 安裝解壓寶石寶石
- 28. 導軌 - 耙:寶石:安裝 - 不安裝寶石
- 29. 紅寶石:安裝寶石,如果用戶沒有安裝它
- 30. 安裝自己的寶石
沒錯,兩連勝將證明它 – stephenmurdoch
我可以upvote,;) –