我正在使用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
答案 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工作。