Из документации :
GEM WHICH
Найдите местоположение файла библиотеки, которое вам может потребоваться
Поэтому, когда вы звоните gem which
, вам нужно предоставить фактический модуль, который вам может потребоваться, а не только название драгоценного камня. И если вы посмотрите на источник для драгоценного камня yt, вы увидите следующую структуру:
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/channel
или yt/group
и т. д.
Поэтому, чтобы использовать этот драгоценный камень, вам необходимо включить его в свой источник:
require 'yt/core'