我正在 ruby??gems.org 瀏覽 Jekyll 中的主題,但它們給當前版本的 jekyll 帶來了麻煩。
就像在這里,我正在嘗試 linaro-jekyll-theme。我得到了這個
從https://rubygems.org/.........獲取 gem 元資料。解決依賴關系.... Bundler 找不到 gem "jekyll" 的兼容版本:在 Gemfile: jekyll (~> 4.2.1)
linaro-jekyll-theme was resolved to 1.0, which depends on
jekyll (~> 3.4)
Bundler 找不到 gem "linaro-jekyll-theme" 的兼容版本:在快照中 (Gemfile.lock): linaro-jekyll-theme (= 1.0)
在 Gemfile 中:linaro-jekyll-theme
運行bundle update將從頭開始重建您的快照,僅使用 Gemfile 中的 gem,這可能會解決沖突。
如何根據需要更改 jekyll 版本。多次更改版本是否有任何問題?
uj5u.com熱心網友回復:
Jekyll 主題(或任何一般的 gem)可能依賴于另一個 gem 的某個版本,因為
- 取決于在更高版本中洗掉或更改的某些功能或
- 作者只是將版本固定為提醒以在新的主要版本發布時檢查兼容性,因為主要版本可能會破壞 gem。
在這個例子中,作者可能已經知道他們的 gem 可以與 Jekyll 3.x 一起使用,但不再可以與 4.x 一起使用,或者他們只是想稍后重新訪問主題,如果它仍然可以與 Jekyll 4.x 一起使用但從未這樣做過。
更改版本并不是真正的問題,因為有了 bundler,您可以根據需要或需要輕松且頻繁地執行此操作。但是降級 gem 可能存在普遍問題。新版本的發布主要有兩個原因:
- 添加新功能和
- 修復錯誤和安全漏洞。
當您使用舊版本的 gem 時,您可能會錯過一些不需要的新功能。但是,您也可能會面臨已在更高版本中修復的安全漏洞。
我的建議是:
- 盡可能嘗試使用最新版本的 gem。
- 如果另一個 gem 依賴于舊版本,而您因此更新到最新版本,那么我會問自己是否真的值得使用這樣一個過時的 gem。當 gem 長時間沒有更新為依賴最新版本時,它很可能不再更新,這是一個風險。
- 如果您仍然想要或需要降級,那么我建議您檢查 gem 的更新日志,您會錯過哪些功能和錯誤修復。并在未來定期檢查變更日志。
在此背景關系中的有用鏈接:Jekyll 版本串列,如您所見,Jekyll 3.4 大約有五年歷史了,這是構建新功能、修復錯誤和安全漏洞的大量時間。并且主題作者需要大量時間來使主題與較新版本兼容。以及Jekyll 更新日志,您可以在其中檢查降級到 3.4 而不是使用最新版本(當前為 4.2.1)時會丟失的內容。而且這個清單很長。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/380708.html
