在自定义构建的gem中获取ruby gem依赖项的错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在自定义构建的gem中获取ruby gem依赖项的错误相关的知识,希望对你有一定的参考价值。

我是ruby和gem创建的新手,我们正在尝试构建一个简单的gem,并在gemspec中给出了以下依赖项:

spec.add_runtime_dependency "csv"
spec.add_runtime_dependency "fileutils"
spec.add_runtime_dependency "json"
spec.add_runtime_dependency "rest-client"
spec.add_runtime_dependency "openssl"

gem安装失败,出现以下错误 - 无法找到有效的gem'openssl'(> = 0)。 json和rest-client也会出现同样的错误,但是当我执行gem列表时,我可以看到以下内容:

csv (3.0.0)
fileutils (1.1.0)
json (2.1.0, default: 2.0.4)
openssl (2.1.1, default: 2.0.5)
rest-client (2.1.0.rc1)

我尝试了一些事情,比如卸载上面版本的rest-client并安装版本2.0.2,此时我不再看到rest-client的错误。有人可以帮助我如何定义考虑默认版本的依赖项以及2.1.0.rc1这样的版本吗?

谢谢

答案

您应该像在普通的ruby应用程序中一样创建Gemfile,并在其中添加这些gem。完成后,运行bundle install并重新安装应用程序。这应该可以解决你的问题!

希望这可以帮助,

Ben

另一答案

您是否尝试指定要使用的版本?例如:

spec.add_runtime_dependency "csv"
spec.add_runtime_dependency "fileutils"
spec.add_runtime_dependency "json", "~> 2.04"
spec.add_runtime_dependency "rest-client", "~> 2.1.0.rc1"
spec.add_runtime_dependency "openssl", "~> 2.05"

以上是关于在自定义构建的gem中获取ruby gem依赖项的错误的主要内容,如果未能解决你的问题,请参考以下文章

使用来自 GitLab 的私有 gem 构建一个 Ruby 项目

Mac OS 下Ruby gem的一些坑

ruby gem 添加环境依赖库

Ruby with RailsInstaller,无法在 Windows 上构建 gem 本机扩展

如何升级我的本地自定义 gem“my_gem”的 ruby​​ 版本

Gem::Ext::BuildError: 错误: 无法构建 gem 原生扩展。 - 塔林杜