我目前正在嘗試將require "twilio-ruby"ruby?? 檔案添加到我的 gemfile 并執行$bundle install之后,但是在嘗試加載檔案時我不斷收到以下錯誤訊息irb < warning: LoadError: cannot load such file -- rack/media_type >
錯誤路徑導致回傳.rvm/rubies/ruby-3.1.1/lib/ruby/3.1.0/irb/init.rb:397
我的 gemfile 目前看起來像
source 'https://rubygems.org'
ruby '3.1.1'
group :test do
gem 'rspec'
gem 'simplecov', require: false, group: :test
gem 'simplecov-console', require: false, group: :test
end
group :development, :test do
gem 'rubocop', '1.20'
gem 'twilio-ruby', '~> 5.61', '>= 5.61.1'
end
我的代碼如下所示:
require 'rubygems'
require 'twilio-ruby'
class SMS
def send_sms(message)
account_sid = ENV["TWILIO_SID"]
auth_token = ENV["TWILIO_AUTH_TOKEN"]
@client = Twilio::REST::Client.new account_sid, auth_token
@client.messages.create(
from: ENV["TWILIO_PHONE_NUMBER"],
to: ENV['PHONE_NUMBER'],
body: message
)
end
end
我已經嘗試過這個有和沒有,require 'rubygems'但它不斷出現同樣的錯誤
我已經檢查過了,我的gem list確實包括twilio-ruby (5.65.0)
uj5u.com熱心網友回復:
我想你發現了一個錯誤twilio-ruby!最近對 gem 進行了更新,改變了作為 gem 一部分的機架中間件中的一些行為。它導致 gem 需要 Rack 的一些行為,但是在沒有加載 Rack 的情況下,就像上面的代碼一樣,這會失敗,因為 Rack 不是依賴項。
我剛剛做了一個 PR 來解決這個問題。同時,要解決此問題,您可以twilio-ruby在合并之前的更改之前將版本降級到 5.63.0,或者您可以將 rack 作為依賴項安裝。
該庫每兩周發布一次,最后一次發布是 2 月 24 日。因此,如果此修復程式很快獲得批準,它可能會進入此版本。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/440715.html
