web-dev-qa-db-ja.com

バンドル:コマンドが見つかりません

Vps、ubuntu 10.04、Rails 3、Ruby、およびいくつかのチュートリアルに従って正しくインストールされたmysqlでホストしています。 bundle checkまたはbundle installを実行すると、エラー「-bash:bundle:command not found」が表示されます。 gem list --localから「bundler(1.0.2、1.0.0)」がインストールされていることがわかります。

何が悪いのか分かりません...

gem environmentは以下を返します。

 RubyGems Environment:
  - RUBYGEMS VERSION: 1.3.7
  - Ruby VERSION: 1.8.7 (2010-04-19 patchlevel 253) [i686-linux]
  - INSTALLATION DIRECTORY: /opt/Ruby-enterprise-1.8.7-2010.02/lib/Ruby/gems/1.8
  - Ruby EXECUTABLE: /opt/Ruby-enterprise-1.8.7-2010.02/bin/Ruby
  - EXECUTABLE DIRECTORY: /opt/Ruby-enterprise-1.8.7-2010.02/bin
  - RUBYGEMS PLATFORMS:
    - Ruby
    - x86-linux
  - GEM PATHS:
     - /opt/Ruby-enterprise-1.8.7-2010.02/lib/Ruby/gems/1.8
     - /root/.gem/Ruby/1.8
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - http://rubygems.org/

およびecho $PATHは以下を返します。

/opt/myruby/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/bin/gem:/opt/Ruby-enterprise-1.8.7-2010.02/lib/Ruby/gems/1.8/gems/:/root/.gem/Ruby/1.8

およびwhich gemは以下を返します。

/usr/bin/gem

locate bundleは以下を返します。

/opt/Ruby-enterprise-1.8.7-2010.02/lib/Ruby/gems/1.8/
124
raphael_turtle

Ruby gem実行可能ディレクトリをパスに追加する必要があります

export PATH=$PATH:/opt/Ruby-enterprise-1.8.7-2010.02/bin
81
Peter Brown

私の問題は、私がやったことでした:

Sudo gem install bundler

したがって、私は自分自身ではなくルートとしてインストールしました。だから私はルートとしてアンインストールしてから、自分でインストールしました:

Sudo gem uninstall bundler
gem install bundler
rbenv rehash

(rbenvを使用している場合の最後のコマンド)

そしてそれは働いた。 「正しい」パスwas.bashrc(または他のシェルプロファイル)で、少なくとも

$PATH
=> zsh: /Users/myself/.rbenv/shims:/Users/myself/.rbenv/bin: ... etc

しかし、ルートではなく自分用にインストールされることを期待していました。私の場合、正当なインストール場所は~/.rbenv/versions/1.9.3-p194/lib/Ruby/gems/1.9.1/gems/bundlerです

185
xxjjnn

... Debian GNU/Linux 6.0の場合も:)

export PATH=$PATH:/var/lib/gems/1.8/bin
25
Lars Moelleken

私はこれを行いました(2013年3月現在の最新のUbuntu [と思う:)]):

Sudo gem install bundler

クレジットは Ray Baxter になります。

Gemが必要な場合は、Rubyをこの方法でインストールしました(これは慢性的に負担がかかりますが)。

mkdir /tmp/Ruby && cd /tmp/Ruby
wget http://ftp.Ruby-lang.org/pub/Ruby/1.9/Ruby-1.9.3-p327.tar.gz
tar xfvz Ruby-1.9.3-p327.tar.gz
cd Ruby-1.9.3-p327
./configure
make
Sudo make install
12
Cody

私はubuntu 11.10を実行しており、バンドル実行可能ファイルは次の場所にありました:

/var/lib/gems/1.8/bin
3
spectralsun

おそらくあなたのシェルが何であれ、これをあなたの.bashrcまたは.zshrcに追加することは、配布防止パスです:

PATH="$(Ruby -e 'print Gem.default_dir')/bin:$PATH"

または、gemをユーザー全体にインストールした場合は、次を使用します。

PATH="$(Ruby -e 'print Gem.user_dir')/bin:$PATH"
3
illegaldisease

ステップ1:実際のワークスペースのパス上にいることを確認します。たとえば、workspace/blog $:ステップ2:コマンドを入力:gem install bundler。ステップ3:これで、バンドルインストールまたはバンドルアップデートの準備が整いました。

1
unedujoe

私の解決策は、そのリポジトリ用にRubyのバージョンを選択したことを確認することでした。

例:chruby 2.2.2またはrvm use 2.2.2

λ bundle install
zsh: command not found: bundle

λ Ruby -v
Ruby 1.9.3p484 (2013-11-22 revision 43786) [x86_64-linux]

### Notice the system Ruby version isn't included in chruby

λ chruby
  Ruby-1.9.3-p551
  Ruby-2.1.2
  Ruby-2.2.1

### Select a version via your version manager

λ chruby 1.9.3

### Ensure your version manager properly selects a version (*)

λ chruby
 * Ruby-1.9.3-p551
   Ruby-2.1.2
   Ruby-2.2.1

λ bundle install
Fetching gem metadata from https://rubygems.org/.........
1
Mark Evans

異なるルビーをインストールするときは必ずrbenv rehashを実行してください

0
Peter

Arch Linuxのインストールでは、ユーザーとしてインストールした場合は~/.gem/Ruby/2.6.0/binディレクトリに、Sudoを介してインストールした場合は/root/.gem/Ruby/2.6.0/binディレクトリにgemがインストールされました。適切なものを$PATH環境変数に追加するだけです:

export PATH=$PATH:/home/your_username/.gem/Ruby/2.6.0/bin
0
Ginglis

バンドル実行可能ファイルはオンになっていると思います:

/opt/Ruby-enterprise-1.8.7-2010.02/lib/Ruby/gems/1.8/gems/binで、$ PATHにない

0
shingara

シンボリックリンクを作成することもできます:

ln -s /opt/Ruby-enterprise-1.8.7-2010.02/lib/Ruby/gems/1.8/gems/bin/bundle /usr/bin/bundle
0
ideaoforder

私はまったく同じ問題があり、実行することでそれを解決することができました

rbenv rehash

その後、bundleは期待どおりに機能しました。 rbenv wikiエントリを見ると、インストールされたgemがコマンドを提供するときにrehashを実行する必要があることに言及しています。

Rbenvが認識しているすべてのRuby実行可能ファイル(つまり、〜/ .rbenv/versions // bin /)にシムをインストールします。 Rubyの新しいバージョンをインストールした後、またはコマンドを提供するgemをインストールした後に、このコマンドを実行します。

どうやらこれは非常に面倒なので、rehashを再度実行する必要がないことを確認するために、gemを書いた人もいます。 rbenv-gem-rehash

0
Dan Bradbury