YAML 安全加载不可用

YAML safe loading is not available

当我想安装 compassgem install compass 时,出现了这个错误:

YAML safe loading is not available. 
Please upgrade psych to a version that supports safe loading (>= 2.0).

这个错误的原因是什么,我该如何解决这个问题?

听起来 psych gem 需要更新了。尝试 运行 gem install psych 然后 gem update psych

建议查看此处的心理自述文件:https://github.com/ruby/psych/blob/master/README.md

编辑:您可能还需要更新 ruby 的版本。这取决于您的安装方式 ruby,但 @ewerx 在他们的回答中提出了一个建议。

为了解决这个问题,我首先将 Ruby 从 2.0.x 升级到 2.4.2 (https://gorails.com/setup/osx/10.12-sierra):

rbenv install 2.4.2; rbenv global 2.4.2

然后更新宝石:

sudo gem update --system; gem update

只更新 gems 可能就足够了。

https://gorails.com/setup/osx/10.12-sierra 上 post 的以下部分解决了我的问题。

我们将在 macOS 10.12 Sierra 上的 Rails 开发环境中设置 Ruby。

旧版本的 OS X 大多是兼容的,所以尽可能地跟进,然后 Google 搜索您 运行 遇到的任何问题。有很多人为他们记录了解决方案。

正在安装自制软件 首先,我们需要安装 Homebrew。 Homebrew 允许我们从源代码轻松安装和编译软件包。

Homebrew 带有一个非常简单的安装脚本。当它要求您安装 XCode CommandLine Tools 时,请说是。

打开终端并运行以下命令:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 正在安装 Ruby 选择您要安装的 Ruby 版本:

现在我们已经安装了 Homebrew,我们可以用它来安装 Ruby。

我们将使用 rbenv 来安装和管理我们的 Ruby 版本。

为此,运行 在您的终端中执行以下命令:

brew install rbenv ruby-build

将 rbenv 添加到 bash 以便在您每次打开终端时加载它

回显 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.bash_profile 来源 ~/.bash_profile

安装Ruby

rbenv 安装 2.5.1

rbenv 全局 2.5.1

ruby -v