Ruby中的 `gem_original_require': 找不到文件-- CloudyScripts (LoadError)

7
在Ubuntu和Ruby 1.8.7上,我通过以下方式安装了CloudyScripts:
gem install gem install CloudyScripts

当我尝试执行这个命令时:
require 'rubygems'
require 'CloudyScripts'

我收到了以下错误信息:

/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- CloudyScripts (LoadError)
        from /usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `require'
        from /home/ubuntu/copyami.rb:3

$ gem list

*** LOCAL GEMS ***

amazon-ec2 (0.9.17)
CloudyScripts (1.9.40)
net-scp (1.0.4)
net-ssh (2.2.1)
xml-simple (1.1.0)

宝石已安装在/var/lib/gems/1.8/gems目录下,其中的内容为:
drwxr-xr-x 6 root root 4096 2011-08-31 17:39 amazon-ec2-0.9.17
drwxr-xr-x 3 root root 4096 2011-08-31 18:39 CloudyScripts-1.9.40
drwxr-xr-x 4 root root 4096 2011-08-31 17:39 net-scp-1.0.4
drwxr-xr-x 5 root root 4096 2011-08-31 17:39 net-ssh-2.2.1
drwxr-xr-x 3 root root 4096 2011-08-31 17:39 xml-simple-1.1.0
$LOAD_PATH是一个环境变量,用于指定Ruby程序在哪里查找库文件。在这个例子中,它列出了8个目录,其中最后一个是当前目录。如果你收到“load error”错误消息,这意味着Ruby无法找到所需的库文件。
2个回答

7

你应该尝试

gem "CloudyScripts"
require "cloudyscripts"

只有 gem 名称是驼峰式的,但其中的 Ruby 文件并非如此,请参考这里


1
成功了。我需要在第一行加上 "require 'rubygems'",然后再加上你的两行代码,这样就没问题了。谢谢。 - Sajee

0

我在运行rng(发布说明生成器命令)时遇到了类似的问题。错误如下所示。

/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in require': cannot load such file -- thor (LoadError) from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:inrequire' from ./rng:6:in `'

经过大量搜索,我发现上面的帖子很有帮助。我只需要运行 C:\ mydirectory>gem install thor

现在,rng命令可以完美地工作了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接