「gem install」はどのように機能しますか?それは直感的ではありません...
私の宝石は本当にここにあります:
[root@localhost Téléchargement]# ll *.gem
-rw-rw-r-- 1 jean jean 16353818 mar 5 11:39 Ruby-processing-1.0.9.gem
しかし、慣用的な「gem install」では表示されません...
[root@localhost Téléchargement]# gem install Ruby-processing-1.0.9.gem
ERROR: could not find gem Ruby-processing-1.0.9.gem locally or in a repository
それのどこが悪いんだい ?
たぶん私は質問を完全に理解していません。ただし、ローカルマシンにgemをインストールするだけの場合、コンソールから行う必要があるのは、gemとgem install --local your.gem
。
この例のfoo-barで独自のgemファイルをビルド/インストールする必要がある場合に備えて、もう少し明確にします。
gem build foo-bar.gemspec
gem install --local foo-bar-0.1.0.gem
私はこれを行う方法を研究していましたが、この投稿は最初の結果でした:)
問題は、gem installがデフォルトディレクトリにインストールするgemを探していることです。次のコマンドを実行すると、それがどこにあるかがわかります。
$ gem environment
これにより、次のようなものが得られます。
> RubyGems Environment:
> - RUBYGEMS VERSION: 1.3.6
> - Ruby VERSION: 1.8.6 (2007-09-24 patchlevel 111) [i486-linux]
> - INSTALLATION DIRECTORY: /usr/lib/Ruby/gems/1.8
> - Ruby EXECUTABLE: /usr/bin/Ruby1.8
> - EXECUTABLE DIRECTORY: /usr/bin
> - RUBYGEMS PLATFORMS:
> - Ruby
> - x86-linux
> - GEM PATHS:
> - /usr/lib/Ruby/gems/1.8
> - /home/adminuser/.gem/Ruby/1.8
GEM PATHSの場所は、gem installがインストールするgemを見つけることを期待している場所です。したがって、あなたの問題の解決策は、現在の場所から予想されるディレクトリにgemをコピーすることです。
$ cp my.gem /home/adminuser/.gem/Ruby/1.8/
次にgem installを実行すると、gemが選択されてインストールされます。必ずコピーコマンドをスーパーユーザーとして実行してください(私のようなUbuntuを実行している場合は、Sudo)。
PS$ gem environmentを実行すると、Gem:Moduleに対して「undefined method 'manage_gems'(NoMethodError )」エラーが発生したら、/ usr/bin/gemを編集し、ファイルの最初の3行が次のようになっていることを確認します。