0

感谢您阅读这个问题。

$ gem install yt
Successfully installed yt-0.32.4
1 gem installed
$ gem which yt
/Users/klee/.rbenv/versions/2.5.4/lib/ruby/gems/2.5.0/gems/yt-0.32.4/lib/yt.rb
$ gem install yt-core
Successfully installed yt-core-0.1.7
1 gem installed
$ gem which yt-core
ERROR:  Can't find Ruby library file or shared library yt-core

我一直在尝试安装这个 gem,但它一直说“找不到”。同样的事情发生在你身上吗?如何安装和找到这个 gem?这是我正在尝试安装的 gem https://rubygems.org/gems/yt-core

4

1 回答 1

0

文档中

宝石

找到您可能需要的库文件的位置

因此,当您调用时,gem which您需要提供一个实际需要的模块,而不仅仅是 gem 的名称。如果您查看yt gem的源代码,您会看到以下结构:

lib/
  yt.rb

你会注意到的内容yt.rb是:

module Yt
end

因此,当您调用gem which yt它时,它能够找到该模块并告诉您在哪里可以找到它。( lib/yt.rb)

但是,如果您查看yt-core 的源代码,您会发现目录中没有文件lib/,而是所有文件都在里面lib/yt

lib/
  yt/
    ...
    core.rb
    ...

来源core.rb是:

module Yt
end

所以如果你想找到模块的位置,你需要运行:

gem which yt/core
/Users/foo/.rvm/gems/ruby-2.6.3/gems/yt-core-0.1.7/lib/yt/core.rb

yt/channelyt/group等。

所以要使用这个 gem,你需要在你的源代码中包含它:

require 'yt/core'
于 2019-11-03T22:32:56.533 回答