如何在.gemspec中为依赖指定require参数(匹配Gemfile配置)?
解决方法
gemspec的add_runtime_dependency方法本身不支持直接指定require别名——因为gemspec是用来声明gem依赖关系的元数据文件,而require: 'zip'是Ruby代码加载时的配置,属于代码执行层面的设置,不是依赖声明的一部分。
要实现和Gemfile里相同的效果,你有两种可行方案:
方案一:在你的gem主文件中手动加载
在你的gem的主入口文件(通常是lib/[你的gem名].rb)里添加一行代码:require 'zip'这样当用户引用你的gem时,会自动加载rubyzip的
zip模块,不需要用户额外处理。方案二:如果是给自己的项目用(非发布的gem)
如果你只是给自己的项目写gemspec而非发布到rubygems,那可以在项目的初始化文件里(比如Rails项目的config/application.rb)手动添加require 'zip',达到和Gemfile里一样的加载效果。
内容的提问来源于stack exchange,提问作者yegor256
相关产品推荐
相关产品推荐

