我的应用程序在我的本地计算机上传递了所有RSpec测试。但是当我在Travis CI上构建它时,我得到以下错误:
/home/travis/build/joegattnet/joegattnet_v3/lib/sass.rb:8:in `<module:Functions>':
undefined method `declare' for Sass::Script::Functions:Module (NoMethodError)
from /home/travis/build/joegattnet/joegattnet_v3/lib/sass.rb:3:in `<top (required)>
[等]
为什么这会在我的机器上运行而在Travis CI上运行?我的机器上有一个专用的gemset,我的.travis.yml文件指定了确切的Ruby版本。
FWIW,相关文件的内容是:
# encoding: utf-8
module Sass::Script::Functions
def settings_styling(setting)
assert_type setting, :String
Sass::Script::Parser.parse(Settings.styling[setting.value].to_s, 0, 0)
end
declare :settings_styling, args: [:setting]
end
答案 0 :(得分:0)
我通过将文件放入/config/initializers/sass.rb解决了这个问题。不过,我不确定这是应该去的地方。