首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >required 'opal-jquery‘给出错误:找不到所需的文件

required 'opal-jquery‘给出错误:找不到所需的文件
EN

Stack Overflow用户
提问于 2019-06-14 14:21:52
回答 1查看 103关注 0票数 1

Opal看起来棒极了!当我尝试在两个不同的Windows 7和Windows 10系统上请求'opal-jquery‘时,我得到了同样的“找不到所需的文件”错误:

代码语言:javascript
复制
C:\opaltest>node --version
v10.15.3

C:\opaltest>ruby -v
ruby 2.5.5p157 (2019-03-15 revision 67260) [x64-mingw32]

C:\opaltest>gem list -a opal

*** LOCAL GEMS ***

opal (0.11.4)
opal-jquery (0.4.3)

文件test.js.rb由以下3行组成:

代码语言:javascript
复制
require 'opal'
require 'opal-jquery'
puts 'success'
代码语言:javascript
复制
C:\opaltest>opal -c test.js.rb > test.js
Traceback (most recent call last):
        12: from C:/Ruby/Ruby250-1-x64/bin/opal:23:in `<main>'
        11: from C:/Ruby/Ruby250-1-x64/bin/opal:23:in `load'
        10: from C:/Ruby/Ruby250-1-x64/lib/ruby/gems/2.5.0/gems/opal-0.11.4/exe/opal:24:in `<top (required)>'
         9: from C:/Ruby/Ruby250-1-x64/lib/ruby/gems/2.5.0/gems/opal-0.11.4/lib/opal/cli.rb:65:in `run'
         8: from C:/Ruby/Ruby250-1-x64/lib/ruby/gems/2.5.0/gems/opal-0.11.4/lib/opal/cli.rb:87:in `builder'
         7: from C:/Ruby/Ruby250-1-x64/lib/ruby/gems/2.5.0/gems/opal-0.11.4/lib/opal/cli.rb:116:in `create_builder'
         6: from C:/Ruby/Ruby250-1-x64/lib/ruby/gems/2.5.0/gems/opal-0.11.4/lib/opal/cli.rb:156:in `evals_or_file'
         5: from C:/Ruby/Ruby250-1-x64/lib/ruby/gems/2.5.0/gems/opal-0.11.4/lib/opal/cli.rb:116:in `block in create_builder'
         4: from C:/Ruby/Ruby250-1-x64/lib/ruby/gems/2.5.0/gems/opal-0.11.4/lib/opal/builder.rb:89:in `build_str'
         3: from C:/Ruby/Ruby250-1-x64/lib/ruby/gems/2.5.0/gems/opal-0.11.4/lib/opal/builder.rb:89:in `map'
         2: from C:/Ruby/Ruby250-1-x64/lib/ruby/gems/2.5.0/gems/opal-0.11.4/lib/opal/builder.rb:89:in `block in build_str'
         1: from C:/Ruby/Ruby250-1-x64/lib/ruby/gems/2.5.0/gems/opal-0.11.4/lib/opal/builder.rb:189:in `process_require'
C:/Ruby/Ruby250-1-x64/lib/ruby/gems/2.5.0/gems/opal-0.11.4/lib/opal/builder.rb:174:in `read': A file required by "test.js.rb" wasn't found. (Opal::Builder::MissingRequire)
can't find file: "opal-jquery" in:
- C:/Ruby/Ruby250-1-x64/lib/ruby/gems/2.5.0/gems/opal-0.11.4/opal
- C:/Ruby/Ruby250-1-x64/lib/ruby/gems/2.5.0/gems/opal-0.11.4/stdlib
- C:/Ruby/Ruby250-1-x64/lib/ruby/gems/2.5.0/gems/opal-0.11.4/lib
- C:/Ruby/Ruby250-1-x64/lib/ruby/gems/2.5.0/gems/ast-2.4.0/lib
- C:/Ruby/Ruby250-1-x64/lib/ruby/gems/2.5.0/gems/ast-2.4.0/lib
- C:/Ruby/Ruby250-1-x64/lib/ruby/gems/2.5.0/gems/parser-2.3.3.1/lib

With the following extensions:
- .js
- .js.js
- .rb
- .js.rb
- .opal
- .js.opal
- .opalerb
- .js.opalerb
- .erb
- .js.erb

And the following processors:
- Opal::BuilderProcessors::JsProcessor
- Opal::BuilderProcessors::RubyProcessor
- Opal::BuilderProcessors::OpalERBProcessor
- Opal::BuilderProcessors::ERBProcessor

文件opal-jquery.rb存在:

代码语言:javascript
复制
C:\Ruby\Ruby250-1-x64\lib\ruby\gems\2.5.0\gems\opal-jquery-0.4.3\lib\opal-jquery.rb

但错误消息指示未搜索包含此文件的目录。

如果我删除所需的'opal-jquery‘行来创建2行文件test_without_jquery.js.rb:

代码语言:javascript
复制
require 'opal'
puts 'success'
代码语言:javascript
复制
C:\opaltest>opal -c test_without_jquery.js.rb > test_without_jquery.js

C:\opaltest>node test_without_jquery.js
success

运行这两个程序都需要ruby中的语句。

代码语言:javascript
复制
C:\opaltest>ruby test.js.rb
success

我使用了Process Monitor实用程序来监控所有文件访问,而opal则执行编译。ruby可执行文件读取opal-jquery-0.4.3.gemspec文件,但不会尝试打开任何其他opal-jquery文件。显然是gemspec中的某些东西导致了这个错误,但唯一的运行时依赖项是opal < 0.12.0,>= 0.10.0,这应该在0.11.4中得到满足。

我在Ubuntu16.04,opal0.11.4,opal-jquery 0.4.3,ruby2.3.1p112 (2016-04-26修订版54768) x86_64-linux上看到了完全相同的'A file by“test.js.rb‘I file’错误

如果有任何帮助,我将不胜感激。谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-15 07:00:55

您需要首先在ruby-land中使用opal-jquery,或者手动将opal-jquery的文件夹附加到opal检查的文件夹中:

lib/opal/jquery.rb#L12

如果要从CLI执行此操作,可以使用RUBYOPT:

代码语言:javascript
复制
export RUBYOPT="-ropal-jquery"
opal -c test.js.rb > test.js
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56592506

复制
相关文章

相似问题

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