Rails:Psych,从0.1.4更新libyaml

时间:2014-04-07 18:13:01

标签: ruby-on-rails macos libyaml

我需要安装了需要qt库的capybara-webkit,所以我使用以下命令使用自制软件安装它们

brew update
brew install qt
brew linkapps

然后我捆绑了,所有人都很好地使用了capybara-webkit。但是,我的警卫正在抛出以下警告。

 You appear to have an outdated version of libyaml (0.1.4) installed on your system.

  Prior to 0.1.6, libyaml is vulnerable to a heap overflow exploit from malicious YAML payloads.


  The easiest thing to do right now is probably to update Psych to the latest version and enable
  the 'bundled-libyaml' option, which will install a vendored libyaml with the vulnerability patched:

  gem install psych -- --enable-bundled-libyaml

看起来很简单。然而,即使在成功进行心理安装后,使用了捆绑式的libyaml'选项我仍然看到关于过时的libyaml的警告。此外,当我检查与psyche相关的libyaml版本时(ruby -rpsych -e' p Psych.libyaml_version')它仍然是1.4。

有什么想法吗?

3 个答案:

答案 0 :(得分:6)

尝试:

brew upgrade libyaml

适合我。

答案 1 :(得分:0)

brew update libyaml

对我不起作用,但是

rvm get stable

确实

答案 2 :(得分:0)

在Ubuntu上,这对我有用。它会重新安装所有红宝石,因此可能需要一段时间。

rvm pkg install libyaml
rvm reinstall all --force

样品运行

rvm pkg install libyaml

Beware, 'rvm pkg ...' is deprecated, read about the new autolibs feature: 'rvm help   autolibs'.

Checking requirements for ubuntu.
Requirements installation successful.
Fetching yaml-0.1.6.tar.gz to /home/assay/.rvm/archives
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                             Dload  Upload   Total   Spent    Left  Speed
100  491k  100  491k    0     0   142k      0  0:00:03  0:00:03 --:--:--  481k
No checksum for downloaded archive, recording checksum in user configuration.
Extracting yaml to /home/assay/.rvm/src/yaml-0.1.6...
Prepare yaml in /home/assay/.rvm/src/yaml-0.1.6..
Configuring yaml in /home/assay/.rvm/src/yaml-0.1.6..........
Compiling yaml in /home/assay/.rvm/src/yaml-0.1.6...................
Installing yaml to /home/assay/.rvm/usr.......

Please note that it's required to reinstall all rubies:

    rvm reinstall all --force