作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当您想使用 gem 进行开发/测试而不想强制其他开发人员使用时,您会怎么做?现在我有
begin
require 'redgreen'
rescue LoadError
end
test_helper.rb
并且没有 gem 配置,但这似乎是一种笨拙的方法,尽管它是一种实用的方法。我想做如下事情:
config.gem "redgreen", :optional => true
最佳答案
特定于您的开发环境的 Gems 应该安装在您的 gemset 或本地 gem 中,而不是安装在 Gemfile
中。 .
一个经典的例子是 ruby-debug-base19x
Rubymine 调试所需的内容。它安装在您的本地 gemset 中,但未安装在 Gemfile
中。因为并非所有程序员都使用 Rubymine。
[编辑]
实际上,一切都在包的上下文中运行,并且无法访问外部 gem。确实存在一些解决方法。他们中的大多数都很脏:)
我在这个 bundler issue 中找到了很多很好的解决方案.
最好的解决方案是将此添加到您的 .irbrc
:
# Add all gems in the global gemset to the $LOAD_PATH so they can be used even
# in places like 'rails console'.
if defined?(::Bundler)
global_gemset = ENV['GEM_PATH'].split(':').grep(/ruby.*@global/).first
if global_gemset
all_global_gem_paths = Dir.glob("#{global_gemset}/gems/*")
all_global_gem_paths.each do |p|
gem_path = "#{p}/lib"
$LOAD_PATH << gem_path
end
end
end
require 'irb/completion'
require 'rubygems'
require 'wirble'
Wirble.init
Wirble.colorize
wirble
到
global
gemset,然后可以找到它。
关于ruby-on-rails - Rails 可选的 gem 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2119525/
我正在尝试用 Swift 编写这段 JavaScript 代码:k_combinations 到目前为止,我在 Swift 中有这个: import Foundation import Cocoa e
我是一名优秀的程序员,十分优秀!