每当我尝试运行bundle install时,Bundler :: GemfileNotFound

时间:2013-07-09 03:58:10

标签: ruby bundler

我正在使用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,用于使用宝石。该软件不需要任何其他软件包,但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

5 个答案:

答案 0 :(得分:20)

当我试图bundle install而没有意识到我不在项目目录中时,我遇到了同样的问题。确保您已进入当前项目目录。

答案 1 :(得分:3)

为避免此错误,您应该在应用程序的根目录下创建GemFile并指定其中所需的所有gem,并运行bundle install

答案 2 :(得分: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 bundler然后bundler install,所有内容都可以作为魅力。

答案 3 :(得分:0)

您使用rvm还是rbenv?如果是这样,请确保您使用的是特定的ruby版本。

对于rvm,rvm list并查找ruby版本旁边的指示。如果未列出正确的一个,请运行rvm install x.y.z。如果未选择正确的一个,请运行rvm use x.y.z

如果要为给定项目隔离宝石,请创建gemset。否则,你应该好好去。

运行gem install bundler。你不应该像sudo那样做。这将在默认rvm gemset或选定的gemset中安装bundler。

Bundler现在应该可用,可以使用bundle运行。这与bundle install相同。

答案 4 :(得分: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工作。