質問

私は最近のUbuntu 9.04にアップグレードし、私は宝石を使用して問題を抱えています。 私はapt-getを使用してルビー、RubygemsのとRailsをインストールしました。 railsコマンドが作業を行います。

私は、その後、Herokuのように、カピストラーノや他の宝石をインストールしました。 そのために、私は、コマンドを使用します:

sudo gem install XXX

私はcapコマンドを使用する場合、それは動作しません。

bash: cap: command not found

これは、他の宝石のコマンドと同じです。

私は宝石が作業をコマンドすることをそうする特定の何かを持っていますか?

役に立ちましたか?

解決

どこ宝石は何ですか?

あなたはあなたの宝石がgem environmentコマンドを使用して保存されている場所を見つけることができます。たとえばます:

chris@chris-laptop:~$ gem environment
RubyGems Environment:
  - RUBYGEMS VERSION: 1.3.2

  - RUBY VERSION: 1.8.7 (2008-08-11 patchlevel 72) [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/chris/.gem/ruby/1.8
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:

あなたが見れば「GEMパス:」セクションでは、宝石が私のラップトップ上の2つの場所に保存することができることがわかります。私のホームディレクトリ内/usr/lib/ruby/gems/1.8または.gemディレクトリに

また、実行可能ファイルが、この場合に/usr/binある実行可能ディレクトリに格納されていることがわかります。

/usr/binが、これは私がcapなどmerbrailsを、実行することができます私のパスにあるので。

あなたのPATHを更新する

何らかの理由で実行可能なディレクトリがパス上にない場合(例えば、それは/var/lib/gems/1.8/binの場合)、あなたはあなたのPATH変数を更新する必要があります。

あなたはbashシェルを使用していると仮定すると。あなたは、シェルプロンプトで次のように入力して、現在のセッションのためにすぐにこれを行うことができます。あなたがパスに/var/lib/gems/1.8/binを追加することをふりをしましょう。

export PATH=$PATH:/var/lib/gems/1.8/bin

Returnキーを押します。これは、現在のパスの最後に新しいディレクトリを追加します。 $PATH/var/lib/gems/1.8/bin間のコロンに注意してください。

あなたはどちらかあなたの.profile.bashrcファイルを編集し、ファイルの最後に同じ行を追加する必要がありますすべてのセッションに値を設定します。それは私がいつもやった何よりも、私は、通常、他の理由もなく私の.bashrcファイルを編集します。終了したら、ファイルを保存してから入力して、自分の環境をリフレッシュします:

bash

シェルプロンプトで。それは.bashrcが再読み込みされるようにします。

任意の時点で、あなたが入力して$PATHの現在の値を確認することができます。

echo $PATH

シェルプロンプトで。

ここに私のユーザ名は「クリス」で、マシン名は「クリス・ノートPC」である私自身のサーバーのいずれかからのサンプルが、です

chris@chris-laptop:~$ 
chris@chris-laptop:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
chris@chris-laptop:~$ 
chris@chris-laptop:~$ export PATH=$PATH:/var/lib/gems/1.8/bin
chris@chris-laptop:~$ 
chris@chris-laptop:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/var/lib/gems/1.8/bin
chris@chris-laptop:~$ 

私の宝石がロードされません!

Rubyの宝石がインストールされていてもロードされません」ルビーの複数の異なるバージョンを使用して共通の問題を強調します。時には宝石環境や宝石パスが同期して取得します:

rb(main):003:0> Gem.path

=> ["/opt/ruby1.9/lib/ruby1.9/gems/1.9.1"]
irb(main):004:0> exit

ここで任意のRubyプロセスは、その宝石のためだけで一つの場所を探しています。

:~/$ gem env
RubyGems Environment:
  - RUBYGEMS VERSION: 1.3.7
  - RUBY VERSION: 1.9.1 (2009-05-12 patchlevel 129) [x86_64-linux]
  - INSTALLATION DIRECTORY: /opt/ruby1.9/lib/ruby/gems/1.9.1
  - RUBY EXECUTABLE: /opt/ruby1.9/bin/ruby1.9
  - EXECUTABLE DIRECTORY: /opt/ruby1.9/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-linux
  - GEM PATHS:
     - /opt/ruby1.9/lib/ruby/gems/1.9.1
     - /home/mark/.gem/ruby/1.9.1
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - http://rubygems.org/

宝石環境の出力を注意深く見ます:

  - GEM PATHS:
     - /opt/ruby1.9/lib/ruby/gems/1.9.1

これはGem.pathによって返されるのと同じパスではありません

["/opt/ruby1.9/lib/ruby1.9/gems/1.9.1"]

これは正確にlib/rubyが、最も可能性の高い開発者は複数のRubyバージョンで働いていたに変更しlib/ruby1.9の原因を言うのは難しいです。迅速なmvまたはlnは、問題を解決します。

あなたが複数のRubyのバージョンで動作する必要がある場合は、

あなたが本当に RVM に使用する必要があります。

他のヒント

@クリスで述べたように、

あなたのパスに宝石環境を追加する必要があります。あなたがこれを行うことができます:

echo 'export PATH=$PATH:/var/lib/gems/1.8/bin' | tee --append ~/.bashrc

宝石は、の保存されているフォルダががあなたのPATH上になければならない、例えば鉱山はあります:

  

/home/victor/.gem/ruby/1.8/bin

タグに入力して、あなたのパスをチェック
echo $PATH

これは、RubyGemsのをインストールするときに、今のUbuntu 9.04で、私はこの問題を持っていることをseens。私は/

私が遭遇したソリューションは、これを行うに私の$ PATHに「/var/lib/gems/1.8/bin」を追加することです。 輸出PATH = $ PATHに:/var/lib/gems/1.8/bin しかし、どのように私は私の道を保存することができます...保存されないのですか?

おかげで...

Resolvi:輸出PATH = $ PATHのO coloquei:いいえ〜/ .bashrcに/var/lib/gems/1.8/bin! =

mkmfははruby1.9.1-devパッケージの一部です。このパッケージは、Ruby 1.9.1のための拡張ライブラリに必要なヘッダファイルが含まれています。あなたが実行してruby1.9.1-devパッケージをインストールする必要があります:

須藤はapt-getをインストールruby1.9.1-devの

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top