我正在编写一个Ruby脚本,我想使用wordNet来阻止String。我想给它一个字符串,可能包含相同形式的单词并返回字符串但是在阻止它之后。我遇到Ruby-WordNet并安装了wordnet gem和wordnet-defaultdb gem。我还安装了Sequel,因为它是必需的。
但是,我不知道如何处理它。当我输入脚本时:
require 'rubygems'
require 'sequel'
require 'wordnet'
我收到以下错误:
/Users/arwa/.rvm/rubies/ruby- 2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/specification.rb:2112:in `raise_if_conflicts': Unable to activate wordnet-1.0.0, because sequel-4.24.0 conflicts with sequel (~> 3.38) (Gem::ConflictError)
from /Users/arwa/.rvm/rubies/ruby- 2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/specification.rb:1280:in `activate'
from /Users/arwa/.rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0/rubygems.rb:198:in `rescue in try_activate'
from /Users/arwa/.rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0/rubygems.rb:195:in `try_activate'
from /Users/arwa/.rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:126:in `rescue in require'
from /Users/arwa/.rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:39:in `require'
from ./test.rb:5:in `<main>'
如果我删除了
require 'sequel'
我收到以下错误:
/Users/arwa/.rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:128:in `require': cannot load such file -- sequel (LoadError)
from /Users/arwa/.rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:128:in `rescue in require'
from /Users/arwa/.rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:39:in `require'
from /Users/arwa/.rvm/gems/ruby-2.2.1/gems/wordnet-1.0.0/lib/wordnet.rb:5:in `<top (required)>'
from /Users/arwa/.rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:128:in `require'
from /Users/arwa/.rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:128:in `rescue in require'
from /Users/arwa/.rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:39:in `require'
from ./test.rb:4:in `<main>'
我不确定问题是什么以及如何处理它。
有没有人知道它是如何工作的?
此外,如果有人可以将我引导到一个我可以找到如何编码并处理它的例子的地方。
非常感谢提前。
答案 0 :(得分:0)
您安装了冲突的gem版本:
require 'rubygems'
gem 'sequel', '3.48'
require 'sequel'
require 'wordnet'
将解决您的问题。
您可以使用Gemfile
来帮助自己。运行bundle init
创建一个。如果您没有捆绑包,请运行gem install bundler
。
的Gemfile:
source "https://rubygems.org"
gem 'sequel'
gem 'wordnet'
保存Gemfile后运行bundle
。检查Gemfile.lock
是否有解决方案。
答案 1 :(得分:0)
错误表明您存在版本冲突。
查看gem list sequel --all
说的内容。在没有指定版本的情况下使用gem install sequel
加载最新版本的Sequel,或者您有两个版本,即WordNet指定的版本和最新版本
尝试删除/卸载所有安装的Sequel版本,并仅重新安装特定版本:
gem install sequel -v3.38
您还可以尝试修改WordNet的gem要求,而不需要特定版本的Sequel。续集是非常稳定的,所以应该是一个安全的举动。