我正在尝试使用一个名为 oxford_dictionary 的 Ruby gem。
gem 'oxford_dictionary', '2.0.1', { require: false }
我在控制台中得到了以下输出:
/bin/bash -c "env RBENV_VERSION=2.6.2 /usr/local/Cellar/rbenv/1.1.2/libexec/rbenv exec ruby /Users/faiz/discenv/discourse/bin/rails server -b 0.0.0.0 -p 3000 -e development"
I, [2019-08-08T14:01:24.177008 #5867] INFO -- : Refreshing Gem list
Traceback (most recent call last):
30: from /Users/faiz/discenv/discourse/bin/unicorn:49:in `<main>'
29: from /Users/faiz/discenv/discourse/bin/unicorn:49:in `load'
28: from /Users/faiz/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/unicorn-5.5.1/bin/unicorn:128:in `<top (required)>'
27: from /Users/faiz/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/unicorn-5.5.1/lib/unicorn/http_server.rb:141:in `start'
26: from /Users/faiz/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/unicorn-5.5.1/lib/unicorn/http_server.rb:794:in `build_app!'
25: from /Users/faiz/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/unicorn-5.5.1/lib/unicorn.rb:54:in `block in builder'
24: from /Users/faiz/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/unicorn-5.5.1/lib/unicorn.rb:54:in `eval'
23: from config.ru:1:in `<main>'
22: from config.ru:1:in `new'
21: from /Users/faiz/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/rack-2.0.7/lib/rack/builder.rb:55:in `initialize'
20: from /Users/faiz/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/rack-2.0.7/lib/rack/builder.rb:55:in `instance_eval'
19: from config.ru:7:in `block in <main>'
18: from config.ru:7:in `require'
17: from /Users/faiz/discenv/discourse/config/environment.rb:4:in `<top (required)>'
16: from /Users/faiz/discenv/discourse/config/environment.rb:4:in `require'
15: from /Users/faiz/discenv/discourse/config/application.rb:57:in `<top (required)>'
14: from /Users/faiz/discenv/discourse/config/application.rb:58:in `<module:Discourse>'
13: from /Users/faiz/discenv/discourse/config/application.rb:261:in `<class:Application>'
12: from lib/discourse.rb:168:in `activate_plugins!'
11: from lib/discourse.rb:168:in `each'
10: from lib/discourse.rb:171:in `block in activate_plugins!'
9: from /Users/faiz/discenv/discourse/lib/plugin/instance.rb:486:in `activate!'
8: from /Users/faiz/discenv/discourse/lib/plugin/instance.rb:486:in `instance_eval'
7: from /Users/faiz/discenv/discourse/plugins/discourse-dictionary/plugin.rb:7:in `activate!'
6: from /Users/faiz/discenv/discourse/lib/plugin/instance.rb:560:in `gem'
5: from /Users/faiz/discenv/discourse/lib/plugin_gem.rb:20:in `load'
4: from /Users/faiz/.rbenv/versions/2.6.2/lib/ruby/2.6.0/rubygems/specification.rb:1420:in `activate'
3: from /Users/faiz/.rbenv/versions/2.6.2/lib/ruby/2.6.0/rubygems/specification.rb:1438:in `activate_dependencies'
2: from /Users/faiz/.rbenv/versions/2.6.2/lib/ruby/2.6.0/rubygems/specification.rb:1438:in `each'
1: from /Users/faiz/.rbenv/versions/2.6.2/lib/ruby/2.6.0/rubygems/specification.rb:1449:in `block in activate_dependencies'
/Users/faiz/.rbenv/versions/2.6.2/lib/ruby/2.6.0/rubygems/dependency.rb:311:in `to_specs': Could not find 'plissken' (~> 0.1.0) among 285 total gem(s) (Gem::MissingSpecError)
Checked in 'GEM_PATH=/Users/faiz/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0:/Users/faiz/.gem/ruby/2.6.0', execute `gem env` for more information
Process finished with exit code 1
我认为这可能是因为 Discourse 无法安装该 gem 本身所需的依赖项。我该如何修复?
更新
好的,我已经解决了。名为 plissken 的依赖项需要单独声明。
但为什么会这样呢?