Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有其他方法可以绕过错误的需求YAML::Syck::DefaultKey错误,然后升级RubyGems?_Ruby_Rubygems_Gemspecs - Fatal编程技术网

有没有其他方法可以绕过错误的需求YAML::Syck::DefaultKey错误,然后升级RubyGems?

有没有其他方法可以绕过错误的需求YAML::Syck::DefaultKey错误,然后升级RubyGems?,ruby,rubygems,gemspecs,Ruby,Rubygems,Gemspecs,我在[path/to/vendor/bundle/spree_api-1.0.0.gemspec]中得到了无效的gemspec:Illformed requirement[“#1.0.0”]用于几个gem(所有spree及其spree_*需求)。我已经向这两个spree报告了这个问题(我怀疑,他们改变了他们的构建路线;还有hoster site5,他们有一个过时的RubyGems版本,1.6.2) 关于stackoverflow,我们有解决方案,但没有一个适用于我 我不能使用RVM升级到其他版本

我在[path/to/vendor/bundle/spree_api-1.0.0.gemspec]中得到了
无效的gemspec:Illformed requirement[“#1.0.0”]
用于几个gem(所有spree及其spree_*需求)。我已经向这两个spree报告了这个问题(我怀疑,他们改变了他们的构建路线;还有hoster site5,他们有一个过时的RubyGems版本,1.6.2)

关于stackoverflow,我们有解决方案,但没有一个适用于我

  • 我不能使用RVM升级到其他版本的Ruby,因为(v)主机安装了passenger,AFAIK只允许运行一个Ruby版本。我无法访问乘客设置,只能通过我的
    public
    文件夹中的
    .htaccess
    访问
  • 我无法执行
    gem更新--system
    ,因为这需要sudo,而我没有sudo
  • 我很好奇为什么会出现这种错误:这是不是可以通过自己构建gem(例如从git)而不是从rubygems.org获取来解决的问题


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

    到现在为止,您可能已经找到了解决这个问题的方法,但是如果您有写更改的权限,这里有一个黑客方法可以解决这个问题

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

    删除任何显示
    的地方,并将其替换为
    =


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

    我通过使用GEM文件中的
    :git=>'some/git/url'
    成功地解决了这个问题;bundler可以正确地处理gem。尽管如此,我仍然对这个错误背后的原因非常感兴趣。