我正在创建一个 gem,我想在其中定义一些可用的常量。
在我的实际gemspec
中,我添加了以下内容:
config = File.expand_path('../config', __FILE__)
$LOAD_PATH.unshift(config) unless $LOAD_PATH.include?(config)
require 'constants.rb'
在constants.rb
我定义了一个简单的变量:$FOO = "Hello, World!"
然后在我的lib/gem_name/core.rb
,我正在尝试,puts $FOO
但它似乎不可用。没有错误,只是出现空白。我不了解 gem 依赖项和 require 树在这里是如何工作的吗?
** 更新 **
我也试过config
直接在下面添加一个目录lib
,该目录已经在 LOAD_PATH 中。然后在我的库中,我正在尝试require config/constants
,但这就是说它无法加载这样的文件。
我也试过直接移动constants.rb
到 lib 目录并要求这样做,它警告我它无法加载这样的文件。有什么东西很不靠谱。