ruby-on-rails - 没有要加载的文件 -- bundle 程序 (LoadError)

标签 ruby-on-rails ruby bundler metasploit

所以我在虚拟机中运行 backtrack 5。我正在尝试更新 metasploit。我从 github 下载了 metasploit 目录,并完全按照网络告诉我的那样删除了旧的 svn 目录(https://community.rapid7.com/community/metasploit/blog/2013/05/20/git-clone-metasploit-dont-svn-checkout)。我在运行 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>'

我知道我可以运行 bundle 命令来“bundle update”和“bundle install”。附带说明一下,当您运行“bundle update”时也会导致错误:

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

当我询问 Ruby 的版本时,考虑到我得到了这个,这很奇怪:

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

这不是最新版本,但我在更新 Ruby 时遇到了问题,在这一点上,我想我不妨问问互联网,并请真正知道这里发生了什么的人来提供帮助。

最佳答案

一切都是正确的,因为 1.9.2dev 版本早于 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

作为临时解决方法,您可以尝试显式安装 bundler:

gem install bundler

显然我会建议您在任何情况下升级 Ruby,dev 版本绝对不是处理的最佳选择。

关于ruby-on-rails - 没有要加载的文件 -- bundle 程序 (LoadError),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20258518/

相关文章:

javascript - Rails `link_to` 方法多次发布

ruby-on-rails - rails/乘客 : no such file to load -- bundler

ruby - 从 git 中引用 ruby​​ gem 会破坏 aws beanstalk 部署

ruby-on-rails - 带@global gem 的 Ruby/RVM - bundle 运行失败,显示 `require' : cannot load such file — bundler (LoadError)

ruby-on-rails - 更快的 heroku 推送

ruby-on-rails - Carrierwave 条件版本抛出参数错误

ruby - 如果 OpenStruct 中不存在键,我如何返回 nil?

ruby - 更改散列内的散列不会更新第一个吗?

ruby-on-rails - Ruby on Rails - 来自 Paypal 的参数 : invalid byte sequence in utf-8

ruby-on-rails - 在 Ruby 中将 snake case 转换为普通句子