Ruby on rails 无法在运行时加载gem-无法加载此类文件
我的档案中有以下声明 gem'foo',:git=>'git@github.com:bar/foo.git' 在我运行bundle安装之后,它能够在以下文件夹下检索gem $ls~/.rvm/gems/ruby-1.9.3-p0@samples/捆扎机/gems/foo-4dc3d7bf8271 但是在我的程序中使用require'foo'并运行gem会引发以下问题 custom_require.rb:36:in'require':无法加载这样的文件--foo (加载错误) 我如何解决这个问题 编辑Ruby on rails 无法在运行时加载gem-无法加载此类文件,ruby-on-rails,gem,gemfile,faker,Ruby On Rails,Gem,Gemfile,Faker,我的档案中有以下声明 gem'foo',:git=>'git@github.com:bar/foo.git' 在我运行bundle安装之后,它能够在以下文件夹下检索gem $ls~/.rvm/gems/ruby-1.9.3-p0@samples/捆扎机/gems/foo-4dc3d7bf8271 但是在我的程序中使用require'foo'并运行gem会引发以下问题 custom_require.rb:36:in'require':无法加载这样的文件--foo (加载错误) 我如何解决这个问题
确保在从
Gemfile
中请求任何gem之前调用了require'bundler/setup'
。但是在Rails的情况下,它肯定会发生,因为Rails服务器
调用config/boot.rb
,其中包含这样的行。hrm,我通常不需要gem,但我在上面看到的另一件事是gem名称后面应该跟一个版本号。foo-1.3.4,这仅仅是因为你的例子吗?foo-4dc3d7bf8271-这是因为我分叉了一个项目并对其进行了一些更改,因此我试图直接从Github使用这个gem在你的需求和检查之前添加一行放置$:
(或者使用Rails.logger.debug$:
,如果它的Rails应用程序是这样的话),无论您的gem路径是否在列表中。另外请检查,文件foo.rb
是否位于其路径内,它的名称可能稍有不同。@Nash-当我尝试运行示例ruby程序时,作为问题的一部分添加了上述错误。也许,您需要指定如何要求该gem,如:gem'dylansm wirble',:require=>wirble'
/home/ec2-user/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/site_ruby/1.9.1
/home/ec2-user/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/site_ruby/1.9.1/i686-linu
x
/home/ec2-user/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/site_ruby
/home/ec2-user/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/vendor_ruby/1.9.1
/home/ec2-user/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/vendor_ruby/1.9.1/i686-li
nux
/home/ec2-user/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/vendor_ruby
/home/ec2-user/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1
/home/ec2-user/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/i686-linux
/home/ec2-user/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/site_ruby/1.9.1/rubygems/
custom_require.rb:36:in `require': cannot load such file -- foo (LoadError)
from /home/ec2-user/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/site_ruby/1.
9.1/rubygems/custom_require.rb:36:in `require'