我在hello-world风格的应用程序中使用以下config / warble.rb:
Warbler::Config.new do |config|
config.dirs = %w(app config tmp gems views)
config.includes = FileList["hello.rb"]
config.gems = ["sinatra"]
config.gem_dependencies = true
end
现在,当我运行jruby -S warble时,这是错误消息:
warble aborted!
uninitialized constant Warbler::Jar::Pathname
org/jruby/RubyModule.java:2526:in `const_missing'
任何人都可以帮我解决这个问题吗?直接执行时应用程序运行没有问题,因此看起来我安装了所有必需的gem。
环境:
答案 0 :(得分:2)
我找到了一个适用于ruby和jruby的解决方法。
我没有在config / warble.rb中指定gems,而是安装了Bundler gem并在我的应用程序的根文件夹中创建了Gemfile,其中包含以下内容:
source :rubygems
gem "sinatra"
从config / warble.rb文件中删除了该文件,该文件的实际内容如下所示:
Warbler::Config.new do |config|
config.includes = FileList["hello.rb"]
end
总结:
答案 1 :(得分:2)
事实证明,warbler中存在一个明显的错误,阻止此功能在jruby 1.6.1和ruby 1.8.7下工作(不知道其他版本因为我没有测试它)。
看看这里快速修复:
https://github.com/padcom/warbler/commit/b4b24e17dee5bb98525203c82519a8901874ef81