在全新的Solidus安装、运行bundle exec rails g spree:install
、抛出异常
$ bundle exec rails g spree:install
/Users/jason/.rvm/rubies/ruby-2.2.5/lib/ruby/2.2.0/yaml.rb:4:in `<top (required)>':
It seems your ruby installation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your ruby.
我不知道我是怎么做到的,但不知何故我把默认的solidus安装搞砸到它拒绝运行的地步,bundle exec rails g spree:install
现在不管我做什么都会因为这个错误而崩溃。
互联网上有一些关于此错误的线程(请参阅Github Homebrew core issue 11635、Github Homebrew core 11636、此堆栈溢出或此堆栈溢出)大多数指向构建 libyaml 然后重新安装 Ruby。有人说需要采取更极端的措施来清除这一点,例如删除对可能在您的系统上的 libyaml 旧幽灵的特定引用。
我尝试了所有我发现的线程来解决这个问题,但问题仍然存在并且不会消失。上述任何链接中的建议均无效。
然后我只是从头开始,使用一个全新的 Rails 应用程序,问题就消失了。所以我怀疑我在初始设置中无意中做了一些事情导致这个代码产生这个错误,而不是我的系统中缺少库(正如所有迹象所暗示的那样)
我在这里发帖仅供参考。交叉发布: https ://github.com/solidusio/solidus/issues/2434
https://gist.github.com/jasonfb/5d4834a55411a0f45f5f8f966188e117