So I'm running backtrack 5 in a virtual machine. I'm trying to update metasploit. I downloaded the metasploit directory from github and removed the old svn directory exactly as the web told me to (https://community.rapid7.com/community/metasploit/blog/2013/05/20/git-clone-metasploit-dont-svn-checkout). I'm getting this error when I run msfupdate:

root@bt:~/metasploit# ./msfupdate
[*]
[*] Attempting to update the Metasploit Framework...
[*]

[*] Checking for updates via git
[*] Note: Updating from bleeding edge
HEAD is now at a02e0ee Land #2682 - Kimai v0.9.2 'db_restore.php' SQL Injection
Already on 'master'
Already up-to-date.
[*] Updating gems...
./msfupdate:188:in `require': no such file to load -- bundler (LoadError)
    from ./msfupdate:188:in `update_git!'
    from ./msfupdate:137:in `block in run!'
    from ./msfupdate:135:in `chdir'
    from ./msfupdate:135:in `run!'
    from ./msfupdate:292:in `<main>'

I know that I can run the bundle command to "bundle update" and "bundle install". Which, on a side note, also leads to an error when you run "bundle update":

Gem::InstallError: factory_girl requires Ruby version >= 1.9.2.

Which is odd considering that I get this when I ask for Ruby's version:

root@bt:~/metasploit# ruby -v
ruby 1.9.2dev (2010-07-02) [x86_64-linux]

It's not the latest version, but I am having trouble updating Ruby and at this point I figured I might as well ask the internet and have someone who actually knows what is going on here to help.

有帮助吗?

解决方案

Everything is correct, since 1.9.2dev version is prior to 1.9.2:

irb > Gem::Version.new('1.9.2dev') >= Gem::Version.new('1.9.2')
# => false
irb > Gem::Version.new('1.9.2dev') >= Gem::Version.new('1.9.1')
# => true

As a temporary workaround you may try to install bundler explicitly:

gem install bundler

Apparently I would suggest you to upgrade Ruby in any case, dev versions are definitely not the best choice to deal with.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top