无法激活 wordnet - require 'wordnet' 失败
Unable to activate wordnet - require 'wordnet' fails
我正在编写 Ruby 脚本,我想使用 wordNet 来提取字符串。我想给它一个可能包含相同形式的单词的字符串,然后取回该字符串,但在对它进行词干处理之后。我遇到了 Ruby-WordNet and installed wordnet gem and wordnet-defaultdb gem. I also installed 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>'
我不确定问题是什么以及如何处理。
有人知道它是如何工作的吗?
此外,如果有人可以指导我到一个地方,我可以在其中找到有关如何对其进行编码和处理的示例。
非常感谢。
您安装了冲突的 gem 版本:
require 'rubygems'
gem 'sequel', '3.48'
require 'sequel'
require 'wordnet'
将解决您的问题。
您可以用 Gemfile
帮助自己。 运行 bundle init
创建一个。 运行 gem install bundler
如果你没有捆绑器。
宝石文件:
source "https://rubygems.org"
gem 'sequel'
gem 'wordnet'
运行 bundle
保存 Gemfile 后。检查 Gemfile.lock
的解决方案。
错误提示您有版本冲突。
看看 gem list sequel --all
怎么说。很有可能你使用 gem install sequel
只加载了最新版本的 Sequel 而没有指定版本,或者你有两个版本,一个由 WordNet 指定,另一个是最新的
尝试 removing/uninstalling 安装所有 Sequel 版本并仅重新安装特定版本:
gem install sequel -v3.38
您也可以尝试修改 WordNet 的 gem 要求,使其不需要特定版本的 Sequel。 Sequel 非常稳定,所以这应该是一个安全的举动。
我正在编写 Ruby 脚本,我想使用 wordNet 来提取字符串。我想给它一个可能包含相同形式的单词的字符串,然后取回该字符串,但在对它进行词干处理之后。我遇到了 Ruby-WordNet and installed wordnet gem and wordnet-defaultdb gem. I also installed 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>'
我不确定问题是什么以及如何处理。
有人知道它是如何工作的吗?
此外,如果有人可以指导我到一个地方,我可以在其中找到有关如何对其进行编码和处理的示例。
非常感谢。
您安装了冲突的 gem 版本:
require 'rubygems'
gem 'sequel', '3.48'
require 'sequel'
require 'wordnet'
将解决您的问题。
您可以用 Gemfile
帮助自己。 运行 bundle init
创建一个。 运行 gem install bundler
如果你没有捆绑器。
宝石文件:
source "https://rubygems.org"
gem 'sequel'
gem 'wordnet'
运行 bundle
保存 Gemfile 后。检查 Gemfile.lock
的解决方案。
错误提示您有版本冲突。
看看 gem list sequel --all
怎么说。很有可能你使用 gem install sequel
只加载了最新版本的 Sequel 而没有指定版本,或者你有两个版本,一个由 WordNet 指定,另一个是最新的
尝试 removing/uninstalling 安装所有 Sequel 版本并仅重新安装特定版本:
gem install sequel -v3.38
您也可以尝试修改 WordNet 的 gem 要求,使其不需要特定版本的 Sequel。 Sequel 非常稳定,所以这应该是一个安全的举动。