非Rails Ruby环境调用Shopify API出现URI.parser弃用警告如何解决?
问题:非Ruby on Rails环境下Shopify API认证的弃用警告
环境信息
- Ruby版本:3.1.2
- Shopify API版本:9.4.1
可复现代码
#!/usr/bin/ruby require 'shopify_api' API_KEY='my key' PASSWORD='my password' SHOP_NAME='my shop name' shop_url = "https://#{API_KEY}:#{PASSWORD}@#{SHOP_NAME}.myshopify.com/admin" ShopifyAPI::Base.api_version = '2023-04' ShopifyAPI::Base.site = shop_url
警告内容
DEPRECATION WARNING: URI.parser is deprecated and will be removed in Rails 7.0. Use
URI::DEFAULT_PARSERinstead. (called from at miniTestConnect.rb:15)
解决方法
该警告由shopify_api依赖的Active Support库引发——其中使用了已被弃用的URI.parser方法,该方法将在Rails 7.0中移除。在非Rails环境下,可通过手动指定使用URI::DEFAULT_PARSER消除警告,修改后的代码如下:
#!/usr/bin/ruby require 'shopify_api' require 'uri' API_KEY='my key' PASSWORD='my password' SHOP_NAME='my shop name' # 替换已弃用的解析器 URI.parser = URI::DEFAULT_PARSER shop_url = "https://#{API_KEY}:#{PASSWORD}@#{SHOP_NAME}.myshopify.com/admin" ShopifyAPI::Base.api_version = '2023-04' ShopifyAPI::Base.site = shop_url
也可以等待shopify_api官方更新依赖版本,从根源修复该弃用问题。
内容的提问来源于stack exchange,提问作者martinR
相关产品推荐
相关产品推荐

