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

M1 Mac无法安装旧版Pulumi插件 升级栈后仍加载旧版如何解决

根因说明

官方给出的「Intel设备安装双版本插件后执行pulumi up自动升级栈provider版本」方案存在前置要求:必须先将项目代码中声明的DigitalOcean Provider依赖版本升级到目标新版本,否则栈状态会始终保留对v3.1.1旧版本默认provider的硬绑定。
你之前的操作仅在容器中安装了新旧版本插件,未修改项目的依赖声明,执行pulumi up时只会完成常规资源校验更新,不会触发provider版本的迁移流程,因此回到M1设备运行时Pulumi仍会尝试加载无法兼容的v3.1.1版本插件。

解决步骤

按顺序执行即可完成迁移:

  • 启动携带--platform=linux/amd64参数的Intel架构Docker容器,进入项目目录,确认v3.1.1、v4.14.0两个版本的DigitalOcean Provider插件均已安装(你之前的插件安装步骤符合要求,无需重复操作)
  • 升级项目内的DigitalOcean Provider依赖到v4.14.0版本,根据项目使用的SDK执行对应命令:
    • TypeScript/JavaScript项目:
      npm install @pulumi/digitalocean@4.14.0
      # Yarn用户执行 yarn add @pulumi/digitalocean@4.14.0
      
    • Python项目:
      pip install pulumi-digitalocean==4.14.0
      
    • Go项目:修改go.mod中github.com/pulumi/pulumi-digitalocean/sdk/v4的版本号为v4.14.0后执行go mod tidy
    • .NET项目:
      dotnet add package Pulumi.Digitalocean --version 4.14.0
      
  • 依赖升级完成后,在容器内执行pulumi up
    本次执行时Pulumi会检测到项目依赖的provider版本变更,自动将栈状态中所有绑定到v3.1.1版本的provider引用替换为v4.14.0,所有已存在的云端资源会自动关联到新版本provider,不会触发资源重建。
  • 执行以下命令验证栈内已无旧版本provider引用:
    pulumi stack export | grep -A2 -B2 digitalocean | grep version
    
    输出中所有DigitalOcean相关的version字段值均为4.14.0即代表迁移完成。
  • 回到M1架构本地设备,安装对应架构的v4.14.0版本DigitalOcean插件:
    pulumi plugin install resource digitalocean 4.14.0
    
    此时再执行pulumi preview就不会出现找不到v3.1.1插件的报错。
兜底修复方案

如果完成上述步骤后仍残留旧版本provider引用,可直接手动修正栈状态:

  1. 在Intel容器环境内导出当前栈状态到本地文件:
pulumi stack export --file stack.json
  1. 编辑stack.json,全局查找所有关联DigitalOcean provider的"version": "3.1.1"字段,全部替换为"version": "4.14.0"
  2. 将修改后的栈状态导回Pulumi:
pulumi stack import --file stack.json

该操作仅修改Pulumi侧的插件版本绑定关系,不会对云端实际运行的资源造成任何变更。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 01:33:20