首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在磁悬浮列车上使用对虾

如何在磁悬浮列车上使用对虾
EN

Stack Overflow用户
提问于 2011-11-09 16:05:39
回答 1查看 266关注 0票数 0

作为maglev的新手,我想从一个小但仍然有用的示例开始。因此,我决定开始将我用来生成发票的ruby类迁移到maglev。然而,我在使用(优秀的)虾PDF库时遇到了一个意想不到的问题。

在rvm上,我为应用程序生成了一个gemset,它是在发票目录的.rvmrc中设置的。当我用cd进入它时,它就会被使用:

代码语言:javascript
复制
Using /Users/patru/.rvm/gems/maglev-head with gemset invoice

当我安装虾的时候,一切正常,gem似乎已经安装好了,ri-docs也正在生成。然而,当应该创建rdoc时,问题开始了,maglev提供的gem命令给了我

代码语言:javascript
复制
 gem install prawn
[INFO] The MagLev team publishes customized versions of some gems.
...
Successfully installed prawn-0.12.0
1 gem installed
Installing ri documentation for prawn-0.12.0...


RDoc failure in lib/prawn/images/jpg.rb at or around line 20 column 26

Before reporting this, could you check that the file
you're documenting compiles cleanly--RDoc is not a
full Ruby parser, and gets confused easily if fed
invalid programs.

The internal error was:

ERROR:  While generating documentation for prawn-0.12.0
... MESSAGE:   global $@ is a read-only variable
... RDOC args: --ri --op /Users/patru/.rvm/gems/maglev-head@invoice/doc/prawn-0.12.0/ri --title Prawn Documentation --main README -q lib README.md LICENSE COPYING GPLv2 GPLv3 --title prawn-0.12.0 Documentation --quiet
a RubySystemExit occurred (error 2752)

gem list说,没有文档的生活没什么大不了的,它已经足够好了,但似乎还有一些地方出了问题。

代码语言:javascript
复制
Ascii85 (1.0.1)
bundler (1.0.21)
erector (0.8.3)
pdf-reader (0.10.1)
polyglot (0.3.3)
prawn (0.12.0)
rake (0.9.2)
treetop (1.4.10)
ttfunk (1.0.3)

所以看起来一切都很好,但如果我这样做了

代码语言:javascript
复制
require 'ruby gems'
require 'prawn'

在irb (它在我的ree-1.8.7上工作得很好)中,我得到一个奇怪的

代码语言:javascript
复制
NoMethodError: NoMethodError: undefined method `ruby_18' for 
from /Users/patru/.rvm/gems/maglev-head@invoice/gems/prawn-0.12.0/lib/prawn/core/object_store.rb:246:in `__compileClass'
from /Users/patru/.rvm/gems/maglev-head@invoice/gems/prawn-0.12.0/lib/prawn/core/object_store.rb:14:in `__compileClass'
from /Users/patru/.rvm/gems/maglev-head@invoice/gems/prawn-0.12.0/lib/prawn/core/object_store.rb:13:in `__compileClass'
from /Users/patru/.rvm/gems/maglev-head@invoice/gems/prawn-0.12.0/lib/prawn/core/object_store.rb:12
from /Users/patru/.rvm/rubies/maglev-head/src/kernel/bootstrap/Kernel.rb:831:in `gem_original_require'
from /Users/patru/.rvm/rubies/maglev-head/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `require'
from /Users/patru/.rvm/rubies/maglev-head/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:57:in `require'
from /Users/patru/.rvm/gems/maglev-head@invoice/gems/prawn-0.12.0/lib/prawn/core.rb:78
from /Users/patru/.rvm/rubies/maglev-head/src/kernel/bootstrap/Kernel.rb:831:in `gem_original_require'
from /Users/patru/.rvm/rubies/maglev-head/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `require'
from /Users/patru/.rvm/rubies/maglev-head/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:57:in `require'
from /Users/patru/.rvm/gems/maglev-head@invoice/gems/prawn-0.12.0/lib/prawn.rb:11
from /Users/patru/.rvm/rubies/maglev-head/src/kernel/bootstrap/Kernel.rb:831:in `gem_original_require'
from /Users/patru/.rvm/rubies/maglev-head/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:59:in `require'
from /Users/patru/.rvm/rubies/maglev-head/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:57:in `require'
from /Users/patru/.rvm/rubies/maglev-head/src/kernel/bootstrap/Kernel.rb:831:in `gem_original_require'
from /Users/patru/.rvm/rubies/maglev-head/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `require'
from /Users/patru/.rvm/rubies/maglev-head/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:57:in `require'
from (irb):5:in `__compileEval'
from (irb):7:in `__compileEval'
from /Users/patru/.rvm/rubies/maglev-head/src/kernel/bootstrap/Kernel.rb:394:in `eval'
from /Users/patru/.rvm/rubies/maglev-head/lib/ruby/1.8/irb.rb:159:in `eval_input'
...

我可能在这里遗漏了一些明显的东西。可以说,我安装的'erector‘gem (见上面的gem列表)可以没有问题地被要求,所以我没有做错任何事情;-)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-10 01:05:23

这似乎是与irb的互动。我可以运行以下脚本,它会创建正确的pdf文件:

代码语言:javascript
复制
require 'rubygems'
require 'prawn'

Prawn::Document.generate('hello.pdf') do
  text "Hello! from #{RUBY_ENGINE}"
end

最好是在https://github.com/maglev/maglev/issues上提交错误报告

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8061943

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档