gpt4 book ai didi

ruby - 还有其他方法可以规避格式不正确的要求 YAML::Syck::DefaultKey 错误然后升级 RubyGems 吗?

转载 作者:数据小太阳 更新时间:2023-10-29 08:01:21 26 4
gpt4 key购买 nike

我得到 Invalid gemspec in [path/to/vendor/bundle/spree_api-1.0.0.gemspec]: Illformed requirement ["#<YAML::Syck::DefaultKey:0x2ac381f81938> 1.0.0"]对于几个 gem (所有 Spree 及其 spree_* 要求)。我已经报告了两个 spree 的问题(我怀疑他们更改了他们的构建行;以及主机 site5,他有一个过时的 RubyGems 版本 1.6.2)

Several questions stackoverflow 上有解决方案,但没有一个适用于我。

  1. 我无法使用 RVM 升级到其他版本的 Ruby,因为 (v)host 安装了 passenger,AFAIK 只允许运行一个 Ruby 版本。除了通过 .htaccess 之外,我无权访问乘客设置。在我的 public文件夹。
  2. 我做不到gem update --system ,因为这需要 sudo,而我没有。

我很好奇为什么会出现此错误:是否可以通过自己构建 gem(例如从 git)而不是从 ruby​​gems.org 获取它来解决这个问题。

是否可以通过将 gems 打包到我的开发机器上来解决这个问题?我在那里没有遇到问题,除了 RubyGems 版本,我的开发机器安装了完全相同的 Ruby 版本(在那里我可以很好地使用 rvm)。

最佳答案

您现在可能已经找到了解决此问题的方法,但如果您有权写入更改,这里有一个修复它的 hacky 方法。

cd /path/to/vendor/bundle/并在文本编辑器中打开 spree_api-1.0.0.gemspec。

删除任何显示 #<YAML::Syck::DefaultKey:...> 的地方并将其替换为 >= .

保存它,回到你的 Rails 应用程序目录并运行 bundle install

关于ruby - 还有其他方法可以规避格式不正确的要求 YAML::Syck::DefaultKey 错误然后升级 RubyGems 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9295566/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com