YAML安全加载不可用。

20

当我想通过gem install compass安装compass时,出现了以下错误:

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

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

3个回答

13
看起来 psych gem 需要进行更新。尝试运行 gem install psych,然后再运行gem update psych。建议参考此处psych readme文件:https://github.com/ruby/psych/blob/master/README.md 。编辑:你可能还需要更新你的 Ruby 版本。这取决于你如何安装 Ruby,但 @ewerx 在他们的答案中有一个建议。

你使用的 Ruby 版本和 psych gem 版本是什么? - Scott Newson
你可能还需要升级 Ruby。你最初是如何安装 Ruby 的? - Scott Newson

6
为了解决这个问题,我首先将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

然后更新gems:

sudo gem update --system; gem update

只更新gems可能就足够了。

-1

以下是https://gorails.com/setup/osx/10.12-sierra文章的一部分,解决了我的问题。

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

旧版本的OS X大多兼容,因此请尽可能跟随并在遇到任何问题时进行Google搜索。有很多人为它们记录了解决方案。

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

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

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

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,以便每次打开终端时都会加载

echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.bash_profile source ~/.bash_profile

安装Ruby

rbenv install 2.5.1

rbenv global 2.5.1

ruby -v


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接