问题标签 [gemspecs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
rspec - 如何让 rspec 读取我的 gemspec 中的依赖项?
当我运行“rspec”或“bundle exec rspec”时,它不允许我使用 .gemspec 文件中的依赖项。我是否必须重复自己并打破 DRY 原则并在 Gemfile 和 .gemspec 中显示我的宝石?(ps。我正在为我的模型文件做这个作为 Rails 引擎)
宝石文件:
.gemspec:
例子:
“bundle exec rspec”显示错误:
ruby - 如何在我的 gemspec 中使用来自 github 的依赖项?
我的 Gemfile 目前有以下内容:
我将我的模型迁移到 .gemspec 中,但我不确定这在我的 gemspec 中会是什么样子。我目前有:
但这最终使用了错误的依赖项(我克隆的原始依赖项)我想使用我的依赖项。我如何将我的 gemspec 依赖项指向我的 github 存储库?
ruby-on-rails - 通过 Bundler 和挂载的应用程序加载本地 gem
我正在创建一个 gem(我们称之为它mygem
),它本质上是一个 Sinatra 服务器,旨在安装在基于 Rack 的应用程序中。
在我的 gem 的 gemspec 文件中,我有以下内容:
在我的 gem 的 Gemfile 中,我有以下内容
现在,当从mygem
's 文件夹中运行服务器时,这完全符合预期:它不会获取 kss 依赖项,而是会在我的本地驱动器上查找并加载该版本。
当我添加mygem
到 Rails 测试应用程序 Gemfile 时,问题就出现了。在我的 Rails 测试应用程序 Gemfile 中,我有以下行:
我希望在 abundle install
上,Bundler 将加载mygem
及其依赖项;但是对于kss
依赖项,Bundler 实际上并没有加载本地依赖项,而是提取到 rubygems 以查找并加载它。我假设是因为在这种情况下,它只是从 gemspec 行中读取,而不包括我的依赖项覆盖。
我能做些什么来解决这种行为吗?我非常希望能够在本地运行和测试这些东西,但是 Bundler 似乎无法识别来自更高级别应用程序的依赖项覆盖。
如果我以错误的方式处理此问题,我完全愿意接受任何建议或更改。
ruby-on-rails - 更新 gemspec 文件列表的最佳实践是什么?
关于 gemspecs 的文件列表。
我注意到珠宝商使用项目中的文件列表手动更新此列表。例如
是否有任何证据表明在项目(尤其是 Rails 项目)中使用 gem 时,使用git ls-files
或Dir.glob('**/*')
动态生成 gemspec 的文件列表会导致性能问题?例如?
ruby-on-rails - Different gemspec code
I have a local and production rails app running. Having problems, so I did a diff and found amoung many things, but the most curious was that the gemspec was different! For the same gemspec: action-mailer-3.0.13.gemspec I have different code!
My local one has:
#xA;and the exact same from production has:
#xA;So am wondering what is going on here? Any ideas?
Edit: Also
#xA;I think there is the clue in this, Maybe time to read up on this gemspec thing.
ruby-on-rails - 在 Rails 应用程序中启动 Ruby Gem 版本控制
我有一个 Rails 应用程序指向 github 上的 gem(尚未推送到 Ruby Gems),它还没有版本化,所以当我运行 bundle 时,它看起来像这样:
我一直在对 gem 进行更改并希望开始对其进行版本控制,因此当我推动掌握它时,它不会破坏依赖于以前 gem 的 Rails 应用程序中的功能。我不够成熟,无法使 gem 向后兼容,所以我认为版本控制是处理这个问题的最佳方法。
我正在寻找有关如何开始对该 gem 进行版本控制的建议,是否只是将 gemspec 更改为 0.0.1,然后将我的 Rails 应用程序中的 gemfile 更改为指向它?
ruby-on-rails - Rails 引擎:在哪里定义仅用于测试的 gem
我正在构建一个引擎,我想使用 VCR 和 Webmock 进行测试。
创建引擎时生成的 Gemfile 中的文档似乎建议应该通过 gemspec 加载所有引擎的 gem,但唯一的选项是 add_dependency 和 add_development_dependency。如果我使用后者,VCR 和 Webmock 会加载到我的开发环境中,然后我必须在开发环境中显式禁用 Webmock。我宁愿不这样做,因为主机应用程序可能希望这些 gem 在开发中工作,而我的引擎禁用它们可能是出乎意料的。
显而易见的解决方案似乎是使用引擎的 Gemfile:
这是加载仅在测试引擎时使用的 gem 的正确方法吗?
这样做有什么陷阱吗?
ruby-on-rails - 有没有办法用我的 gem 打包我的 gem 依赖的所有 gem?
我正在编写一个具有多个 gem 依赖项的 gem,其中一个依赖于在较新版本中破坏向后兼容性的 gem。这让我开始思考——我不希望我正在构建的 gem 成为让人们难以更新他们的应用程序的“那个 gem”。我也不想强迫使用我的 gem 的人必须在他们的应用程序的其余部分使用它所依赖的 gem 的特定版本。
一方面,我可以重写这些依赖项中的所有代码,将它们与我的 gem 捆绑在一起,然后一起删除依赖项,但这似乎有点乏味。有什么方法可以让我简单地将 gem 依赖项直接包含在我的 gem 中,然后将它们包装在一个模块中,这样我的打包版本就不会与应用程序其余部分使用的版本冲突?
ruby - 通过整个 ruby gem 使配置可用
我正在创建一个 gem,我想在其中定义一些可用的常量。
在我的实际gemspec
中,我添加了以下内容:
在constants.rb
我定义了一个简单的变量:$FOO = "Hello, World!"
然后在我的lib/gem_name/core.rb
,我正在尝试,puts $FOO
但它似乎不可用。没有错误,只是出现空白。我不了解 gem 依赖项和 require 树在这里是如何工作的吗?
** 更新 **
我也试过config
直接在下面添加一个目录lib
,该目录已经在 LOAD_PATH 中。然后在我的库中,我正在尝试require config/constants
,但这就是说它无法加载这样的文件。
我也试过直接移动constants.rb
到 lib 目录并要求这样做,它警告我它无法加载这样的文件。有什么东西很不靠谱。
ruby - Ruby_Installation_Error_Watir
我遇到以下错误:
我已经安装了 gem watir
,我的系统配置如下:
- 操作系统:Windows7
- 即:10