在 Jruby 和 gems 出现严重问题之后(大多数 gem 安装都出现错误。我最初并不知道或使用 rvm),我重建了机器的开发端,其中包括:
- 擦除机器
- 安装 mojave
- 删除并重新安装 xcode
- 恢复我想要的任何旧文件。
- 从互联网上安装 rvm
- 从互联网上重新安装 jruby 和 ruby(2.6.2)。
xcode 已经有 ruby 2.3.x。一切顺利,没有错误消息。
然后,我去列出 rvm 中的所有 ruby。我收到了下面清单 1 中的消息。由于它建议了一种补救措施,我尝试了第一个建议: gem pristine executable-hooks --version 1.6.0 结果几乎重复了第一条消息。
然后我尝试了第二个建议:gem pristine gem-wrappers --version 1.4.0。结果同上。意味着没有进展。
有什么建议可以让我如何将 jruby 的宝石恢复到可用状态,或者我是否需要第三次重新开始?
清单 1 shell 输出 -
MacBook-Air:~ dbd$ gem list 警告:发生了非法反射访问操作 警告:org.jruby.util.SecurityHelper 对字段 java.lang.reflect.Field.modifiers 进行了非法反射访问 警告:请考虑将此问题报告给 org.jruby.util.SecurityHelper 的维护人员 警告:使用 --illegal-access=warn 启用进一步非法反射访问操作的警告 警告:所有非法访问操作将在未来的版本中被拒绝 忽略 executable-hooks-1.6.0,因为未构建其扩展。尝试:gem pristine executable-hooks --version 1.6.0 忽略 gem-wrappers-1.4.0,因为未构建其扩展。尝试:gem pristine gem-wrappers --version 1.4.0 忽略 jruby-launcher-1.1.9-java,因为未构建其扩展。尝试:gem pristine jruby-launcher --version 1.1.9 加载 RubyGems 插件“/Users/dbd/.rvm/gems/jruby-9.2.5.0@global/gems/executable-hooks-1.6.0/lib/rubygems_plugin.rb”时出错:没有要加载的文件 -- executable-hooks/wrapper (LoadError) 加载 RubyGems 插件“/Users/dbd/.rvm/gems/jruby-9.2.5.0@global/gems/gem-wrappers-1.4.0/lib/rubygems_plugin.rb”时出错:没有要加载的文件 -- gem-wrappers (LoadError)
* 当地珍宝 *
bundler (2.0.1) bundler-unload (1.0.2) cmath (默认值:1.0.0) csv (默认值:1.0.0) did_you_mean (1.2.0) executable-hooks (1.6.0) fileutils (默认值:1.1.0) gem-wrappers (1.4.0) ipaddr (默认值:1.2.0) jar-dependencies (默认值:0.4.0) jruby-launcher (1.1.9 java) jruby-openssl (0.10.2 java, 默认值:0.10.1 java) jruby-readline (默认值:1.3.7 java) json (默认值:2.1.0 java) minitest (5.10.3) net-telnet (0.1.1) power_assert (1.1.3) psych (默认值:3.0.3 java) rake (12.3.2, 12.3.0) rake-ant (默认值:1.0.4) rdoc (默认值:6.0.1) rubygems-bundler (1.4.5) rvm (1.11.3.9) scanf (默认值:1.0.0) test-unit (3.2.8) webrick (默认值:1.4.2) xmlrpc (0.3.0) MacBook-Air:~ dbd$
答案1
抱歉。我没有在网上搜索这个问题。结果发现这个问题已经发布到 jruby 开发网站,因此它被评为已知问题。该帖子针对的是 jruby 2.5.0,而我使用的是 2.6.0。不幸的是,据我所知,唯一的建议似乎是重新安装 jruby(和 gems???),这不太令人满意,因为他们似乎不知道为什么会发生这种情况,而且问题已经解决了。我会尝试各种安装,看看会发生什么。如果有什么明显有效,我会跟进。