2011-09-19 112 views
3

我創建了自己的rubygem,但是當我在本地機器上嘗試時,出現了一些惱人的問題,我一直在google和另一個StackOverflow問題中,但仍然沒有找到了解決這個問題的辦法。無法加載紅寶石寶石,在IRB中使用require方法

如果我在IRB使用非root用戶鍵入需要 'my_own_gem'類型後需要 'RubyGems的'我有:

LoadError: no such file to load -- my_own_gem 
    from /usr/lib/ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require' 
    from /usr/lib/ruby/1.8/rubygems/custom_require.rb:36:in `require' 
    from (irb):2 
    from (null):0 

但是,使用root用戶,與當sudo irb,問題沒有看到,一切都看起來不錯。

寶石列表-d my_own_gem

my_own_gem (0.0.1) 
    Author: Jane Doe 
    Rubyforge: http://rubyforge.org/projects/my_own_gem 
    Homepage: google.com 
    Installed at: /var/lib/gems/1.8 

    lorem ipsum dolor sit amet 

寶石ENV

RubyGems Environment: 
    - RUBYGEMS VERSION: 1.3.7 
    - RUBY VERSION: 1.8.7 (2010-08-16 patchlevel 302) [x86_64-linux] 
    - INSTALLATION DIRECTORY: /var/lib/gems/1.8 
    - RUBY EXECUTABLE: /usr/bin/ruby1.8 
    - EXECUTABLE DIRECTORY: /var/lib/gems/1.8/bin 
    - RUBYGEMS PLATFORMS: 
    - ruby 
    - x86_64-linux 
    - GEM PATHS: 
    - /var/lib/gems/1.8 
    - GEM CONFIGURATION: 
    - :update_sources => true 
    - :verbose => true 
    - :benchmark => false 
    - :backtrace => false 
    - :bulk_threshold => 1000 
    - REMOTE SOURCES: 
    - http://rubygems.org/ 

的.bashrc

export GEM_HOME=/var/lib/gems/1.8 
export GEM_PATH=/var/lib/gems/1.8 

my_own_gem.gemspec

# -*- encoding: utf-8 -*- 
$:.push File.expand_path("../lib", __FILE__) 
require "my_own_gem/version" 

Gem::Specification.new do |s| 
    s.name  = "my_own_gem" 
    s.version  = MyOwnGem::VERSION 
    s.platform = Gem::Platform::RUBY 
    s.authors  = ["Jane Doe"] 
    s.email  = ["[email protected]"] 
    s.extra_rdoc_files = ["MIT-LICENSE","README.rdoc"] 
    s.rdoc_options = ["--charset=UTF-8"] 
    s.homepage = "google.com" 
    s.summary  = %q{lorem ipsum} 
    s.description = %q{lorem ipsum dolor sit amet} 
    s.date = Time.now.utc.strftime("%A, %d% %B %Y") 
    s.rubyforge_project = "my_own_gem" 

    s.add_dependency "httparty", "= 0.7.8" 

    s.post_install_message = "my own gem" 

    s.files   = `git ls-files`.split("\n") 
    s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n") 
    s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) } 
    s.require_paths = ["lib"] 

end 
+0

您是如何安裝紅寶石?這聽起來像你在root時獲得的紅寶石並不是你在普通用戶時所擁有的紅寶石。紅寶石「和」紅寶石「。 – d11wtq

+0

從軟件包管理器安裝,從哪個ruby和sudo的哪個ruby的結果是/ usr/bin/ruby​​ –

+1

您是否sudo安裝您的gem? – hawx

回答

2

嘗試添加到您的.bashrc文件

export RUBYOPT="rubygems" 

或嘗試你的創業板安裝到/usr/lib/ruby/gems/1.8/......