7

私は kali-linux で作業しています (Linux ディストリビューションの魔女は、Ubuntu ベースの Back-Track の続きですが、現在は Debian wheezy ベースです) いくつかの侵入テストを行っています。システムツールを更新することを決定するまで、すべてが正常に機能していました。ruby に基づいたツールを実行しようとするたびに、次のように悩まされます。

Could not find gem 'ruby-progressbar (>= 1.1.0) ruby' in the gems available on this machine.
Run `bundle install` to install missing gems.

実行に進みますbundle installが、Bundler::GemfileNotFoundエラーが発生します。

Kali はデフォルトで ruby​​ を使用し、gem を使用します。ソフトウェアは他のパッケージを「必要としません」が、目前の問題に対してルビーは完全に構成/インストールされていないようです。

$ ruby --version
ruby 1.9.3p194 (2012-04-20 revision 35410) [i486-linux]
$ rvm
bash: rvm: command not found
$ rbenv
bash: rbenv: command not found
4

5 に答える 5

20

bundle installプロジェクトディレクトリにいないことに気づかずにしようとしたときに、同じ問題に直面しました。現在のプロジェクト ディレクトリにいることを確認します。

于 2013-11-28T06:01:46.320 に答える
3

このエラーを回避するには、アプリケーションのルートで GemFile を作成し、そこに必要なすべての gem を指定して、bundle install を実行する必要があります。

于 2013-07-09T06:02:26.127 に答える
2

bundler問題は、パッケージ マネージャーがそう言っているにもかかわらず、Ruby が何らかの奇妙な理由でインストールされていることを検出しなかったことです。

$ apt-cache policy bundler
  bundler:
Installed: 1.3.5-2
Candidate: 1.3.5-2
$ bundle --version
Bundler::GemfileNotFound

gem install bundler次にbundler install、ツールのルート パスでルートとして実行するだけで、すべてが魅力的に機能します。

于 2013-07-09T03:58:10.017 に答える
0

これを試して:

sudo ln -s /var/lib/gems/1.8/bin/bundle /bin/bundle
sudo ln -s /var/lib/gems/1.8/bin/bundler /bin/bundler

Debianで私のために働いた。

于 2014-01-07T19:05:55.873 に答える
0

またはを使用しますrvmrbenv?その場合は、特定の Ruby バージョンを使用していることを確認してください。

rvm についてはrvm list、Ruby バージョンの横にある表示を探します。正しいものがリストされていない場合は、 を実行しrvm install x.y.zます。正しいものが選択されていない場合は、実行しますrvm use x.y.z

特定のプロジェクト用に gem を分離したい場合は、gemset. それ以外の場合は、準備ができているはずです。

実行しますgem install bundler。これを sudo として実行する必要はありません。これにより、デフォルトの rvm gemset または選択した gemset にバンドラーがインストールされます。

Bundler が利用可能になり、 を使用して実行できるようになりますbundle。これは と同じbundle installです。

于 2013-07-09T04:56:17.223 に答える