我bundler update在我的 rails 6 專案上運行,現在在運行時看到以下棄用通知rails console。任何人都知道不兼容的 gem/ruby 版本的違規組合是什么?
棄用通知:
root@1ddbacaf4a69:/app# bin/rails c
Top level ::CompositeIO is deprecated, require 'multipart/post' and use `Multipart::Post::CompositeReadIO` instead!
Top level ::Parts is deprecated, require 'multipart/post' and use `Multipart::Post::Parts` instead!
紅寶石版本:3.1.2
Google 和 github 并沒有得到太多幫助。我不想開始一次禁用一個寶石來解決這個問題。
uj5u.com熱心網友回復:
更新:
TLDR;此錯誤最常見的原因是faraday-multipart依賴于multipart-post. faraday-multipart已為此發布了修復程式 - 只需將 gem 升級到 1.0.4 或更高版本即可解決此問題。
=================
進一步挖掘,我發現了有問題的代碼:
multipart-post/lib/composite_io.rb:
warn "Top level ::CompositeIO is deprecated, require 'multipart/post' and use `Multipart::Post::CompositeReadIO` instead!"
哪個正在使用:
Gemfile.lock:
faraday (1.10.0)
faraday-em_http (~> 1.0)
faraday-em_synchrony (~> 1.0)
faraday-excon (~> 1.1)
faraday-httpclient (~> 1.0)
faraday-multipart (~> 1.0)
...
faraday-multipart (1.0.3)
multipart-post (>= 1.2, < 3)
這導致我這個問題:https ://github.com/lostisland/faraday-multipart/issues/5
底線答案-對此有一個修復程式,應該在幾天內合并并發布。bundle update再次,當法拉第圖書館更新時,這應該會消失。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/490316.html
下一篇:使用capybara搜索記錄
