7

我正在kali-linux(一个linux发行版女巫是Back-Track的延续,基于Ubuntu,现在基于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​​,用于使用 gems。该软件不需要任何其他软件包,但 ruby​​ 似乎没有针对手头的问题进行完全配置/安装。

$ 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

问题是由于某些奇怪的动机,Ruby 没有检测到bundler已安装,尽管包管理器是这样说的。

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

我只是在工具根路径中以root身份运行,一切都像魅力一样gem install bundlerbundler install

于 2013-07-09T03:58:10.017 回答
0

你用rvmorrbenv吗?如果是这样,请确保您使用的是特定的 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。

Bundler 现在应该可用并且可以使用bundle. 这与bundle install.

于 2013-07-09T04:56:17.223 回答
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 回答