我有个程序在很多台电脑上都运行没有问题,但是在一个Ubuntu 11.10,Ruby 2.1.3p242 (2014-09-19 revision 47630) [x86_64-linux]
环境下运行时出现:
/tp914/zy/packman/packages/wrf_wps.rb:33:in `install': uninitialized constant Wrf_wps::Jasper (NameError)
下面是问题脚本的片段:
class Wrf_wps < PACKMAN::Package
url 'http://www2.mmm.ucar.edu/wrf/src/WPSV3.6.1.TAR.gz'
sha1 'f6ef8b25593d4d5711e7d6853db4965e60969b88'
version '3.6.1'
...
def install
PACKMAN.append_env "NETCDF='#{PACKMAN.prefix Netcdf}'", :ignore
includes = []
libs = []
includes << "#{PACKMAN.prefix Jasper}/include" # 出问题的地方
...
end
...
end
问题是:为什么 Ruby 会悄悄给 Jasper 前面加上一个前缀Wrf_wps::
呢?