【发布时间】:2016-04-04 07:20:07
【问题描述】:
这个问题已经添加了,但我的情况似乎有点不同。
机器: Windows Server 2012 Ruby: 版本 1.9.3 p484
我有我的主 ruby 文件 file1.rb:
module Sass::Script::Functions
def dosome()
# Doing some stuff
begin
success = require_relative 'myfile2.rb'
rescue Exception => e
puts "Error: #{e.message} - #{e.backtrace}!"
end
end
end
这是我的file2.rb:
my_var = 'Hello world!'
我收到此错误:
C:/myproject/file2.rb:1: 无效的多字节字符 (US-ASCII) ["C:/myproject/file1.rb:31:in
require_relative'", "C:/myproject/file1.rb:31:indosome'", “C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/script/tree/funcall.rb:139:in_perform'", "C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/script/tree/node.rb:50:inperform'", “C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/perform.rb:384:invisit_prop'", "C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/base.rb:36:invisit'", “C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/perform.rb:158:inblock in visit'", "C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/stack.rb:79:inblock in with_base'", “C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/stack.rb:115:inwith_frame'", "C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/stack.rb:79:inwith_base'", “C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/perform.rb:158:invisit'", "C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/perform.rb:289:inblock (2 个级别) in visit_if'", “C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/perform.rb:289:inmap'", "C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/perform.rb:289:inblock in visit_if'", “C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/perform.rb:179:inwith_environment'", "C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/perform.rb:288:invisit_if'", “C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/base.rb:36:invisit'", "C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/perform.rb:158:inblock in visit'", “C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/stack.rb:79:inblock in with_base'", "C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/stack.rb:115:inwith_frame'", “C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/stack.rb:79:inwith_base'", "C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/perform.rb:158:invisit'", “C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/perform.rb:491:inblock (2 levels) in visit_directive'", "C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/perform.rb:491:inmap'", “C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/perform.rb:491:inblock in visit_directive'", "C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/perform.rb:179:inwith_environment'", “C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/perform.rb:490:invisit_directive'", "C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/base.rb:36:invisit'", “C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/perform.rb:158:inblock in visit'", "C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/stack.rb:79:inblock in with_base'", “C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/stack.rb:115:inwith_frame'", "C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/stack.rb:79:inwith_base'", “C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/perform.rb:158:invisit'", "C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/perform.rb:353:inblock (4 个级别) in visit_mixin'", “C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/perform.rb:353:inmap'", "C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/perform.rb:353:inblock (3 个级别) in visit_mixin'", “C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/perform.rb:179:inwith_environment'", "C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/perform.rb:353:inblock (2 个级别) in visit_mixin'", “C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/perform.rb:84:inperform_arguments'", "C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/perform.rb:348:inblock in visit_mixin'", “C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/stack.rb:98:inblock in with_mixin'", "C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/stack.rb:115:inwith_frame'", “C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/stack.rb:98:inwith_mixin'", "C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/perform.rb:336:invisit_mixin'", “C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/base.rb:36:invisit'", "C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/perform.rb:158:inblock in visit'", “C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/stack.rb:79:inblock in with_base'", "C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/stack.rb:115:inwith_frame'", “C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/stack.rb:79:inwith_base'", "C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/perform.rb:158:invisit'", “C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/perform.rb:315:inblock (2 levels) in visit_import'", "C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/perform.rb:315:inmap'", “C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/perform.rb:315:inblock in visit_import'", "C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/stack.rb:88:inblock in with_import'", “C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/stack.rb:115:inwith_frame'", "C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/stack.rb:88:inwith_import'", “C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/perform.rb:312:invisit_import'", "C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/base.rb:36:invisit'", “C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/perform.rb:158:inblock in visit'", "C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/stack.rb:79:inblock in with_base'", “C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/stack.rb:115:inwith_frame'", "C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/stack.rb:79:inwith_base'", “C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/perform.rb:158:invisit'", "C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/perform.rb:315:inblock (2 个级别) in visit_import'", “C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/perform.rb:315:inmap'", "C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/perform.rb:315:inblock in visit_import'", “C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/stack.rb:88:inblock in with_import'", "C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/stack.rb:115:inwith_frame'", “C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/stack.rb:88:inwith_import'", "C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/perform.rb:312:invisit_import'", “C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/base.rb:36:invisit'", "C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/perform.rb:158:inblock in visit'", “C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/stack.rb:79:inblock in with_base'", "C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/stack.rb:115:inwith_frame'", “C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/stack.rb:79:inwith_base'", "C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/perform.rb:158:invisit'", “C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/base.rb:52:inblock in visit_children'", "C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/base.rb:52:inmap'", “C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/base.rb:52:invisit_children'", "C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/perform.rb:167:inblock in visit_children'", “C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/perform.rb:179:inwith_environment'", "C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/perform.rb:166:invisit_children'", “C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/base.rb:36:inblock in visit'", "C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/perform.rb:186:invisit_root'", “C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/base.rb:36:invisit'", "C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/perform.rb:157:invisit'", “C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/visitors/perform.rb:8:invisit'", "C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/root_node.rb:36:incss_tree'", “C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/tree/root_node.rb:29:inrender_with_sourcemap'", "C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/engine.rb:368:in_render_with_sourcemap'", “C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/engine.rb:285:inrender_with_sourcemap'", "C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/plugin/compiler.rb:490:inupdate_stylesheet'", “C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/plugin/compiler.rb:215:inblock in update_stylesheets'", "C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/plugin/compiler.rb:209:ineach'", “C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/plugin/compiler.rb:209:inupdate_stylesheets'", "C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/plugin.rb:82:inupdate_stylesheets'", “C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/exec/sass_scss.rb:350:inwatch_or_update'", "C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/exec/sass_scss.rb:50:inprocess_result'", “C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/exec/base.rb:52:inparse'", "C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/lib/sass/exec/base.rb:19:inparse!'", “C:/tools/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.4.9/bin/scss:13:in<top (required)>'", "C:/myproject/scss:23:inload'", "C:/myproject/scss:23:in `'"]
即使file2.rb 里面没有文本,而且如果我将# coding: utf-8 添加为file1.rb 和file2.rb 的第一行,我也会得到这个!
我做错了什么?如何成功要求/导入file2.rb?
SASS
如您所见,这里涉及到一些 SASS。我不知道这是否相关。我执行脚本的方式实际上是调用 SASS 编译器,该编译器将对一些 .scss 文件进行操作。在我的一个样式表中,我引用了 dosome 函数,这就是调用该函数的方式。
【问题讨论】:
-
我应用了一些编辑。原始文件名不同。我必须提取最重要的逻辑,因为原始文件非常大,将它们全部粘贴在这里是没有意义的
-
您能否制作一个显示此行为的最小程序,例如:一个包含仅
require_relative而没有其他内容的程序? -
使用十六进制编辑器查看 file1.rb 可能也是值得的。也许你的代码中有一些奇怪的字符,只是没有显示出来。
-
@user1934428:我试试看!
-
和以前一样的问题:(