どのように私はUbuntuので宝石を使用していますか?
-
05-09-2019 - |
質問
私は最近の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
などmerb
、rails
を、実行することができます私のパスにあるので。
あなたの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
は、問題を解決します。
あなたが本当に 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。私は/ ?これは、RubyGemsの持つかのubuntu 9.04に問題がある...ではなく「は/ usr / binに」の、「宝石の環境」で実行可能ディレクトリが「/var/lib/gems/1.8/bin」であることに気づきましたP>
私が遭遇したソリューションは、これを行うに私の$ 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の