首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我不能在ruby中加载库

我不能在ruby中加载库
EN

Stack Overflow用户
提问于 2020-10-27 00:27:05
回答 2查看 464关注 0票数 0

我在Ruby中加载库时遇到了问题。我想装填胡言乱语,机械,着色。所以我首先安装了lib:

代码语言:javascript
复制
sudo gem install gibberish mechanize colorize

我在Ubuntu18.04LTS和macOS 10.14.4上都没有这方面的错误。

我的脚本内容如下:

代码语言:javascript
复制
#!/usr/bin/env ruby

require 'mechanize'
require 'colorize'
require 'gibberish'

当我运行时,我会得到以下错误:

代码语言:javascript
复制
Traceback (most recent call last):
    2: from test:3:in `<main>'
    1: from /snap/ruby/167/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require'
/snap/ruby/167/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require': cannot load such file -- mechanize (LoadError)

另外,当我更改库的要求顺序时,如

代码语言:javascript
复制
#!/usr/bin/env ruby

require 'gibberish'
require 'mechanize'
require 'colorize'

我犯了个轻率的错误。我怎么才能修好?谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-10-27 06:03:24

你可以像这样跟着我。

步骤1:创建一个文件夹并移动到这个新创建的文件夹。

代码语言:javascript
复制
$ mkdir my_folder
$ cd my_folder

步骤2:在这个文件夹中创建一个新的Gemfile并放置所需的宝石。

代码语言:javascript
复制
# my_folder/Gemfile

source "https://rubygems.org"

gem "colorize"
gem "mechanize"
gem "gibberish"

步骤3:运行bundle install来安装所需的gems。

步骤4:创建一个ruby文件并将所需的代码放入其中并运行。

代码语言:javascript
复制
# my_folder/my_file.rb

require "mechanize"
require "colorize"
require "gibberish"

puts "Hello World"

要运行此文件,请使用ruby my_file.rb。坦克斯:-)

票数 2
EN

Stack Overflow用户

发布于 2020-10-28 06:54:12

这是因为您使用sudo安装gem,但是从非sudo用户运行脚本。如您所见,如果您运行sudo gem list --localgem list --local,它将给出不同的结果,因为带有sudo的gem安装可能对用户不可用。

因此,最好使用红宝石版本管理器rvm里本夫,它允许为每个应用程序提供不同的环境。或者您可以使用gem install --user-install <gemname>来安装gem而不需要sudo。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64546764

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档