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

M1 MacBook上执行serverless package命令失败求助

解决M1 Mac上Serverless Python Requirements插件Docker挂载Socket报错问题

问题原因

M1 Mac上serverless-python-requirements插件默认会挂载宿主机的/tmp目录到Docker容器,但该目录下的com.apple.launchd.*路径包含Socket文件,Docker无法挂载Socket类型文件,导致执行sls package时触发operation not supported错误。

解决方案

1. 排除Socket路径的Docker挂载

在serverless.yml的custom.pythonRequirements配置中添加dockerIgnore规则,跳过问题路径:

custom:
  pythonRequirements:
    dockerIgnore:
      - '/private/tmp/com.apple.launchd*'

2. 指定自定义临时目录

让插件使用项目内的临时目录替代系统/tmp,避免挂载包含Socket的路径:

custom:
  pythonRequirements:
    useTmpDir: true
    tmpDir: './.serverless/tmp'

执行前确保创建该目录:mkdir -p .serverless/tmp

3. 禁用Docker(仅适用于纯Python依赖)

如果你的项目依赖都是纯Python包(无需编译二进制扩展),可以直接禁用插件的Docker功能:

custom:
  pythonRequirements:
    useDocker: false

4. 升级插件到最新版本

旧版本的serverless-python-requirements可能存在M1 Mac兼容性问题,强制升级插件:

sls plugin install -n serverless-python-requirements --force

验证

修改配置后重新执行你的打包脚本:

rm -fr requirements.txt build
pip-compile
sls package --package ./build

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 09:42:10