Mechanize / Ruby:`require':无法加载这样的文件 - mechanize(LoadError)

时间:2017-06-30 17:49:01

标签: ruby command-line terminal mechanize

我一直在尝试使用以下命令从终端运行ruby文件:

ruby file_cleanse_auto.rb 

但是我从机械化中得到错误:

/Library/Ruby/Site/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- mechanize (LoadError)
from /Library/Ruby/Site/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from file_cleanse_auto.rb:2:in `<main>'

在我的ruby文件中,我有:

require 'open-uri'
require 'mechanize'

我可以使用机械化而没​​有任何错误的Ruby shell(irb)。当我尝试从命令行运行ruby文件时,它似乎只是一个问题。 我安装的ruby和mechanize的版本分别是2.0.0和2.7.5。 我也尝试将机械化添加到Gemfile(有和没有nokogiri)。这就是现在的样子:

source "https://rubygems.org"
gem 'nokogiri'
gem 'mechanize'

跑完后:

bundle

我得到了:

Resolving dependencies...
Using mini_portile2 2.2.0
Using unf_ext 0.0.7.4
Using mime-types-data 3.2016.0521
Using net-http-digest_auth 1.4.1
Using net-http-persistent 2.9.4
Using ntlm-http 0.1.1
Using webrobots 0.1.2
Using bundler 1.15.1
Using nokogiri 1.8.0
Using unf 0.1.4
Using mime-types 3.1
Using domain_name 0.5.20170404
Using http-cookie 1.0.3
Using mechanize 2.7.5
Bundle complete! 2 Gemfile dependencies, 14 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.

但是当我再次尝试运行ruby文件时,我仍然遇到同样的错误。有人知道如何解决此错误吗?谢谢!

1 个答案:

答案 0 :(得分:0)

最近安装ruby 2.4后我遇到了同样的问题。

您应该尝试 gem install mechanize

这是因为每个ruby installation have an independent directory for gems。希望这有效。