2016-01-27 95 views
1

像许多人一样,我创建了一个dotfiles回购站点,并试图将非私有的数据提取到各自的点文件中。我通常会加载一个.whatever.local文件,如果它存在可能包含我不想签入存储库的信息。 Rubygems使用~/.gemrc文件,但是我看不到将私人信息从其中提取出来的方式,将其分解为单独的文件。有谁知道这可能会怎么做?是否有.gemrc.local或等价物?

特别是我想在.gemrc文件的外部列出sources

回答

1

根据v2.4.6(最近版本,但不是最新版本),我没有看到相当于.local

虽然,RubyGems的源代码声明了与您想实现的内容相关的内容。例如,在src/ruby-2.3.0/lib/rubygems/config_file.rb

## 
# Gem::ConfigFile RubyGems options and gem command options from gemrc. 
# 
# gemrc is a YAML file that uses strings to match gem command arguments and 
# symbols to match RubyGems options. 
# 
# Gem command arguments use a String key that matches the command name and 
# +:sources+:: Sets Gem::sources 
# +:verbose+:: See #verbose 
# 
# gemrc files may exist in various locations and are read and merged in 
# the following order: 
# 
# - system wide (/etc/gemrc) 
# - per user (~/.gemrc) 
# - per environment (gemrc files listed in the GEMRC environment variable) 

所以,你可以使用GEMRC环境变量来加载额外的,私人的文件。

+1

This works。尽管如此,有一件令人讨厌的事情是,你必须重复列出所有:sources:在GEMRC指向的文件中,这个文件中的值覆盖了当前的设置(尽管我能理解他们为什么这样做)。 – rainkinz

+0

是的,它通过文件...每个文件都是全部或全部没有。也许到目前为止,对更精细的粒度的需求不大? –

+1

我从字面上看了一下编码的东西,但鉴于这个问题似乎并没有出现之前,它可能是一个非常罕见的要求。 – rainkinz

相关问题