Ruby YAML 输出缺少 psych

Ruby missing psych for YAML ouput

我在 Mac 运行 Ruby 2.5.3 上用 Webpacker 创建了一个 Rails/React 应用程序,它运行没有问题。但是,当我将它克隆到我的 Ubuntu 18.04 机器上时,出现以下错误:

/usr/lib/ruby/2.5.0/yaml.rb:5: warning: It seems your ruby installation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your ruby.

我的Ubuntu机器也是运行Ruby2.5.3,所以我很困惑为什么它在错误中引用了2.5.0。

我可以使用 rails s 启动 Rails 服务器,但是当我尝试使用 foreman start -f Procfile.dev 启动完整的应用程序时,出现错误。我尝试使用 RVM 在我的机器上重新安装 libyaml 和所有 Ruby 版本,但对错误没有影响。我还将我的本地 Ruby 版本更改为 2.5.0,但我收到一条不同的错误消息,说明我的机器是 运行 Ruby 2.5.0,但项目是 运行 2.5.3.

Procfile.dev 文件:

rails: bundle exec rails s
webpack: ./bin/webpack-dev-serer

它表示该项目是 运行ning 2.5.0,它基于 Gemfile 中的 ruby '~> 2.5' 之类的指令。尝试将其更改为您 运行ning 的实际版本,运行 bundle 以再次设置 Gemfile.lock,然后重试该命令。

我从“sudo apt install Ruby”安装了 Ruby 2.5.1,从 RVM 安装了 2.5.3。我清除了所有已安装的 Rubies 和 RVM,通过 RVM 在根目录上重新安装了 2.5.3,一切顺利。