mruby-require错误:NoMethodError:未定义的方法'puts'为main

时间:2015-06-30 14:11:29

标签: mruby

我设法编译了mruby代码,添加了来自https://github.com/mattn/mruby-require的mrubygem - mruby-require

然而,当我尝试调用require'./'时,我收到错误消息。以下是我的代码:

inc.rb

def test(a, b)
    print "Inside the include->test(..)"
    return a+b
end

test1.rb

require 'inc.rb'

def helloworld(var1)
    print 'hello world ' + var1 + ". Test number = " + test(4, 5)

end

helloworld('test')

当我执行test1.rb时,我从mruby得到了这个错误:

NoMethodError: undefined method 'puts' for main

经过一番分析后,我发现'puts'与mruby无关。在添加mruby-require gem之后,没有执行任何ruby代码。我是否需要使用mruby-require添加任何依赖?

有人能帮助我吗?

更新:根据请求粘贴build_config.rb的内容。我删除了评论的行。

build_config.rb

MRuby::Build.new do |conf|

  if ENV['VisualStudioVersion'] || ENV['VSINSTALLDIR']
    toolchain :visualcpp
  else
    toolchain :gcc
  end

  enable_debug

  # adding the mruby-require library
  conf.gem 'mrbgems/mruby-require'

  conf.gembox 'default'


end

MRuby::Build.new('host-debug') do |conf|

  if ENV['VisualStudioVersion'] || ENV['VSINSTALLDIR']
    toolchain :visualcpp
  else
    toolchain :gcc
  end

  enable_debug

  conf.gembox 'default'


  conf.cc.defines = %w(ENABLE_DEBUG)


  conf.gem :core => "mruby-bin-debugger"


end

1 个答案:

答案 0 :(得分:2)

以下引用来自README.md

  

当使用mruby-require时,必须要求使用在build_config.rb中 mruby-require之后出现的其他mrbgems。

这是来自您的build_config.rb

  conf.gem 'mrbgems/mruby-require'

  conf.gembox 'default'

The default gembox contains mruby-print。因此要么需要mruby-print,要么最好交换这些行以使其成为内置gem(没有mruby-require的默认行为)。