You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Apple Wallet Pass服务器搭建报错求助:Gem安装与启动失败

没问题,我帮你拆解这两个问题,逐个解决:

1. 解决yaml gem安装失败的问题
  • YAML是Ruby自带的标准库组件,根本不需要通过gem命令单独安装,你在安装列表里加入yaml才触发了这个报错。
  • 重新执行安装命令,去掉多余的yaml即可:
    sudo gem install sinatra sequel sqlite3 rubyzip rack json terminal-table
    
2. 解决pass_server_ctl的重定向禁止错误

这个报错是因为Ruby的open-uri模块默认禁止从HTTP协议重定向到HTTPS协议,而jsonip.com现在会自动把HTTP请求跳转到HTTPS地址。你有两种解决方式:

方法一:直接修改请求地址(最简单)

打开lib/pass_server_ctl文件,找到第30行左右的http://jsonip.com,把它替换成https://jsonip.com/,这样就不会触发重定向逻辑,直接请求HTTPS地址即可。

方法二:允许跨协议重定向

如果不想修改地址,可以调整open-uri的调用参数,让它允许跨协议重定向。找到文件里setup_hostname方法中调用open的代码块,添加allow_redirections: :all参数:
原来的代码大概是这样:

open("http://jsonip.com") do |f|
  # 原有处理逻辑
end

修改后:

open("http://jsonip.com", allow_redirections: :all) do |f|
  # 原有处理逻辑
end

这样open-uri就会允许从HTTP跳转到HTTPS的重定向操作了。

内容的提问来源于stack exchange,提问作者chris

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:59:43