我一直试图从终端运行一个红宝石文件,使用:
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>'在我的红宝石档案里:
require 'open-uri'
require 'mechanize'我可以在Ruby (irb)中使用机械化,而不会出现任何错误。当我试图从命令行运行ruby文件时,这似乎只是一个问题。我已经安装的ruby版本和机械化版本分别为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文件时,仍然会遇到相同的错误。有人知道我如何解决这个错误吗?谢谢!
发布于 2017-11-27 00:30:46
在最近安装ruby 2.4之后,我也遇到了同样的问题。
你应该试试gem install mechanize
这是因为每个ruby installation have an independent directory for gems。希望这能奏效。
https://stackoverflow.com/questions/44852292
复制相似问题