Ruby 无法使用RVM从git请求gem

Ruby 无法使用RVM从git请求gem,ruby,git,rubygems,Ruby,Git,Rubygems,我不能要求一个定制的宝石,我开发了一个ruby项目。我使用RVM。以下是我所做的: 我通过Gemfile在本地添加了gem: gem 'my-gem', git: 'https://github.com/username/my-gem.git' 我安装了gem: bundle Fetching https://github.com/username/my-gem.git Fetching gem metadata from https://rubygems.org/............ F

我不能要求一个定制的宝石,我开发了一个ruby项目。我使用RVM。以下是我所做的:

我通过Gemfile在本地添加了gem:

gem 'my-gem', git: 'https://github.com/username/my-gem.git'
我安装了gem:

bundle
Fetching https://github.com/username/my-gem.git
Fetching gem metadata from https://rubygems.org/............
Fetching version metadata from https://rubygems.org/..
Resolving dependencies...
Using my-gem 0.1.0 https://github.com/username/my-gem.git (at master@dcdac02)
Using bundler 1.11.2
Bundle complete! 1 Gemfile dependency, 2 gems now installed.
我确认它已安装:

bundle show my-gem
/Users/myuser/.rvm/gems/ruby-2.2.2/bundler/gems/my-gem-dcdac02a8b69
我确认了我的宝石路径:

GEM PATHS:
     - /Users/myuser/.rvm/gems/ruby-2.2.2
     - /Users/myuser/.rvm/gems/ruby-2.2.2@global
当我运行
gem list
时,我的gem丢失了。当我
需要“我的宝石”
时,宝石找不到

当我运行我的gem的
gem时,我得到:

ERROR:  Can't find ruby library file or shared library my-gem

我真的不知道还能尝试什么。有什么想法吗?

我会确保安装的gem版本包含您期望的所有文件,特别是
lib
及其内容。过去的讨论可能会帮助您:


我发现了类似的问题

bundle show kubernetes_metadata_filter

/fluentd/vendor/bundle/ruby/2.3.0/bundler/gems/fluent-plugin-kubernetes_metadata_filter-0cd7e29eacec
当我的其他gems安装在这里时:

/fluentd/vendor/bundle/ruby/2.3.0/gems/
注意2.3.0/bundler/gems/之间的细微差别。。。和2.3.0/gems/

黑客解决方案: 捆绑包安装后,我执行了以下操作:

gem install specific_install
gem specific_install -l <url to a github gem>
gem安装特定\u安装
特定于gem的安装-l

这就成功了,将gem安装到gems目录,而不仅仅是bundler。我相信正确的解决方案是项目启动时需要bundler,然后它也会安装gems,但并非所有项目都适合该解决方案。祝你好运

Rubygems没有git安装gems的概念,因此Bundler包含了一种将这些路径加载到GEMPATH中的特定机制,在需要它们之前,您需要执行以下操作:

需要“bundler”
Bundler.setup

有关更多信息,请参阅。

您是否在另一个rvm gemset中安装了gem?@uDaY
rvm gemset列表
显示了与
gem环境中的gem路径相同的路径
bundle/config中唯一的内容是--bundle\u gem\u测试:rspec bundle\u gem\u MIT:false bundle\u gem\u COC:false。尝试使用
bundle exec
来要求文件没有任何区别-仍然无法工作。当您键入
bundle config
时会发生什么?它列出了上面粘贴的相同设置。好的,
bundler
目录是一个转移视线的工具,编辑了我的答案,原因更可能。