Domanda

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.

È stato utile?

Soluzione

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top