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


141

私はいくつかのチュートリアルに従って正しくインストールされたvps、ubuntu 10.04、rails 3、ruby、およびmysqlでホストしています。実行した場合、bundle checkまたはbundle install「-bash:bundle:command not found」というエラーが発生した場合。gem list --local私は「バンドラ(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/

7
バンドラーをインストールしましたか?
シンガラ

回答:


87

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

export PATH=$PATH:/opt/ruby-enterprise-1.8.7-2010.02/bin

14
uBuntu 11.04では、最新のコマンドパスはexport PATH = $ PATH:/var/lib/gems/1.8/bin
Antony

更新:ubuntu 11.04では、最新のRubyGemを使用する限り、RVMをインストールして目的のRubyバージョンをインストールするだけでよいので、パスは無関係であるようです。
アントニー

私のために働いたAntonyと私はメインの回答の更新を提出しました。
マイケルデュラント

5
Arch Linuxの場合、export PATH = $ PATH:〜/ .gem / ruby​​ / 2.0.0 / bin(Rubyのバージョンに合わせて調整)
Kostas Maragos

RVMの場合、export /usr/local/rvm/gems/ruby-1.9.3-p448/bin:$PATHまたはENV PATH /usr/local/rvm/gems/ruby-1.9.3-p448/bin:$PATHDockerとともに使用します。
crizCraig 2013年

199

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

sudo gem install bundler

そのため、自分ではなくrootとしてインストールしました。ルートとしてアンインストールしてから、自分でインストールしました。

sudo gem uninstall bundler
gem install bundler
rbenv rehash

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

そしてそれはうまくいった。「正しい」パスがあった.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


3
rbenvはRVMの代替です。Rubyのさまざまなバージョンをすべて管理します。gemをgem installインストールすると、現在使用されているバージョンのrubyと一緒にインストールされますrbenv versions(これは、*でマークされているはずです)。バンドルgemをインストールすると、bundle installプロジェクトごとにgemをインストールできるgemを作成できます。あなたがよく使う宝石gem installは、バンドラーやゼウスのようなものです。するとgem installrbenv rehash後で実行する必要があります。その通りです。
xxjjnn 14

Windowsでこの問題が発生しました。鳴り響きgem install bundler、今ではすべて良好です。
Dan Atkinson、

25

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

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

うまくいきませんでした、何か提案はありますか?-GEMパス:-/var/lib/gems/1.8-/kunden/homepages/11/dxxxxxx/htdocs/.gem/ruby/1.8 echo $ PATH〜/ .composer / vendor / bin:/ usr / local / bin: / usr / bin:/ usr / X11R6 / bin:/ bin:/ usr / local / ms:/kunden/homepages/11/d3xxxxxx/htdocs/.rvm/bin:/var/lib/gems/1.8/bin:/ var / lib / gems / 1.8 / bin
Juan

15

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

sudo gem install bundler

クレジットはレイバクスターに行く。

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

3

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

/var/lib/gems/1.8/bin

3

私の解決策は、そのリポジトリに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/.........

3

おそらく耐破壊パスは、シェルが何であれ、これを.bashrcまたは.zshrcに追加することです:

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

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

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

2

rbenvユーザーの場合:

$ rbenv versions
2.6.0
$ rbenv global 2.6.0
$ ruby -v
ruby 2.6.0p0
$ gem install bundler
$ rbenv rehash
$ bundle
$ rails -v
Command 'rails' not found
$ rbenv rehash
$ rails -v
Rails 4.2.11.1

1

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


1

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


1

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

export PATH=$PATH:/home/your_username/.gem/ruby/2.6.0/bin

0

私はバンドル実行可能ファイルが上にあると思います:

/opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/bin そしてそれはあなたの$ PATHにありません


0

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

ln -s /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/bin/bundle /usr/bin/bundle

ln -s /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/bin/bundle /usr/bin/bundleこれはbundle、bin dir全体ではなく、バンドルへのシンボリックリンクを作成したい場合に追加する必要がありますか?
Ashish Singh

0

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

rbenv rehash

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

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

どうやらこれはとても煩わしいので、何人かの人々は二度と実行する必要がないことを確認するために宝石を書きましたrehashrbenv-gem-rehash


0

このエラーrbenv: bundle: command not foundは、数か月前に作成した古いRailsプロジェクトを複製した後に発生しました。ここで私はそれについてどう思いましたか:特定のバージョンのバンドラーをインストールするには、または次のコマンドを実行して、利用可能な最新のバンドラーをインストールします。

走る gem install bundler

次に、次のコマンドで、必要なバージョンのバンドルをインストールしました。

$ gem install bundler -v "$(grep -A 1 "BUNDLED WITH" Gemfile.lock | tail -n 1)"

[詳細はこの記事を確認してください](https://www.aloucaslabs.com/miniposts/rbenv-bundle-command-not-found#:~:text=When%20you%20get%20the%20rbenv,to%20install% 20the%20Bundler%20gem 詳細については、この記事を確認してください

このコマンドを発行して、動作を確認します

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.