我将ruby从1.9.3升级到2.0.0
升级后,我再也无法运行我的脚本,因为有太多错误。
更新 我更新了脚本的开头部分。
错误
Bareword found where operator expected at D:\ex\report.rb line 12, near "$0
def"
(Missing operator before def?)
Bareword found where operator expected at D:\ex\report.rb line 18, near "usage"
(Missing semicolon on previous line?)
Semicolon seems to be missing at D:\ex\report.rb line 19.
syntax error at D:\ex\report.rb line 5, near "Encoding::UTF_8 require "
Execution of D:\jenkins_lab_a\asap.ex\asap-report-apps.rb aborted due to compilation errors.
脚本
# coding: utf-8
Encoding.default_external = Encoding::UTF_8
Encoding.default_internal = Encoding::UTF_8
require './lib/utils'
require './lib/klocwork'
require './lib/td'
require 'fileutils'
require 'logger'
if __FILE__ == $0
def usage
warn 'usage: report.rb [a] [b] [c]'
warn "ex) report.rb a b c"
exit
end
puts "report.rb start"
usage if ARGV.size < 3
end
我可以在整个脚本中看到这样的错误。 但是我从来没有改变过我的剧本,而且它在以前的版本中运行良好。
所以我认为我错过了任何环境设置
你可以告诉我我可以检查什么来解决这个问题吗?
答案 0 :(得分:3)
这些不是Ruby错误消息。您没有使用Ruby解释器运行Ruby文件。 Ruby中没有“bareword”的概念,分号完全是可选的,所以也不会报告它们。