首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么bundler没有安装依赖项呢?

为什么bundler没有安装依赖项呢?
EN

Stack Overflow用户
提问于 2016-09-18 09:55:28
回答 1查看 194关注 0票数 0

我对bundler的理解是,当您将一个Gem添加到Gemfile中时,bundler会在您运行bundle install时自动安装它的所有依赖项。

我正在创造一个宝石。在我的gemspec中,我指定了以下要求:

代码语言:javascript
复制
spec.add_development_dependency "bundler", "~> 1.7"
spec.add_development_dependency "rake", "~> 10.0"
spec.add_development_dependency "eventmachine", "~> 1.0.4"
spec.add_development_dependency "em-synchrony"
spec.add_development_dependency "rspec"

Bundler很好地完成了所有安装。当我查看Gem.lock时,我注意到以下几点:

代码语言:javascript
复制
...
em-synchrony (1.0.5)
  eventmachine (>= 1.0.0.beta.1)
...

注意,em-synchrony没有MySQL依赖项。当我启动irb,并且我需要我的gem时,我得到以下错误:

代码语言:javascript
复制
> require 'my_gem'
RuntimeError: Missing EM-Synchrony dependency: gem install mysql2

为什么bundler没有自动安装mysql2 gem?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-18 11:37:08

em-synchrony不依赖于mysql2。它只是一个受支持的客户端,是几个客户端之一:https://github.com/igrigorik/em-synchrony#em-synchrony

实际上,查看em-synchrony的gemspec只显示了一个依赖项eventmachinehttps://github.com/igrigorik/em-synchrony/blob/master/em-synchrony.gemspec

然而,正如开发组在其Gemfile中列出的那样,它是一个em- development dependency。不会为您安装这些依赖项。

您必须自己手动包含mysql2

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39553347

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档