2011-09-19 9 views
3

私は自分自身でrubygemを作成しましたが、ローカルマシンで試してみると面白いものがありました。この問題についての解決策を見つけました。IRBのrequireメソッドを使用して、ルビーの宝石をロードできませんでした

私はIRBにroot以外のユーザーを使用し、タイプは私が持っている 'RubyGemsの'を必要とした後、は 'my_own_gem'を必要と入力した場合:

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、問題は見られず、すべてが正常に見えます。

宝石のリストはmy_own_gemを-d

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 

# -*- 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であるときにあなたが得るルビーのように聞こえるのは、あなたが普通のユーザであるときと同じルビーではないということです。 '' ruby​​'と 'sudo ruby​​'と呼ばれています。 – d11wtq

+0

がpackage-managerからインストールされました。rubyとsudoのrubyの結果は/ usr/bin/ruby​​ –

+1

あなたの宝石をインストールしましたか? – hawx

答えて

2

my_own_gem.gemspecは、あなたの.bashrcファイル

export RUBYOPT="rubygems" 

に追加するか、またはあなたはルビーをインストールしましたか/usr/lib/ruby/gems/1.8/......

関連する問題