Open dmeehan1968 opened 5 months ago
can you run with --verbose
next time and show me the output?
It looks like the error relates to the installed version of esbuild. See the explanation below for project structure. Whilst I can appreciate that SST might want a specific esbuild version (0.19.10), it seems to only complain about this on the first run, and then subsequently work without warning/error. So either the first run error is spurious, or SST should also be checking this on subsequent runs if it matters.
The following is the brew update:
dmeehan@MacBook-Pro-M1 dashboard % brew upgrade sst
==> Upgrading 1 outdated package:
sst/tap/sst 0.0.326 -> 0.0.340
Here is the first run of sst deploy --verbose
(I don't think it matter which command is used, as long as it provokes the project upgrade (platform, deps):
dmeehan@MacBook-Pro-M1 dashboard % sst deploy --verbose
time=2024-05-02T09:04:41.736+01:00 level=INFO msg="checking for pulumi" path="/Users/dmeehan/Library/Application Support/sst/bin/pulumi"
time=2024-05-02T09:04:42.198+01:00 level=INFO msg="checking for bun" path="/Users/dmeehan/Library/Application Support/sst/bin/bun"
time=2024-05-02T09:04:42.225+01:00 level=INFO msg="initializing project" version=0.0.340
time=2024-05-02T09:04:42.225+01:00 level=INFO msg="esbuild building"
time=2024-05-02T09:04:42.290+01:00 level=INFO msg="esbuild built" outfile=/Users/dmeehan/Library/CloudStorage/Dropbox/Projects/Amazon/Replicated/.sst/eval/eval-1714637082225.mjs
time=2024-05-02T09:04:42.290+01:00 level=INFO msg="evaluating config"
time=2024-05-02T09:04:42.998+01:00 level=INFO msg="config evaluated"
time=2024-05-02T09:04:43.002+01:00 level=INFO msg="checking platform"
⠋ Upgrading project...time=2024-05-02T09:04:43.003+01:00 level=INFO msg="installing platform"
⠼ Upgrading project...time=2024-05-02T09:04:46.499+01:00 level=INFO msg="installing deps"
time=2024-05-02T09:04:46.499+01:00 level=INFO msg="writing package.json"
time=2024-05-02T09:04:46.500+01:00 level=INFO msg="adding dependency" name=aws
time=2024-05-02T09:04:46.501+01:00 level=INFO msg="fetching deps"
time=2024-05-02T09:04:55.728+01:00 level=ERROR msg="exited with error" err="failed to run bun install bun install v1.1.0 (5903a614)\n Resolving dependencies\n Resolved, downloaded and extracted [215]\n/Users/dmeehan/Library/CloudStorage/Dropbox/Projects/Amazon/Replicated/.sst/platform/node_modules/esbuild/install.js:133\n throw new Error(`Expected ${JSON.stringify(versionFromPackageJSON)} but got ${JSON.stringify(stdout)}`);\n ^\n\nError: Expected \"0.19.10\" but got \"0.20.2\"\n at validateBinaryVersion (/Users/dmeehan/Library/CloudStorage/Dropbox/Projects/Amazon/Replicated/.sst/platform/node_modules/esbuild/install.js:133:11)\n at /Users/dmeehan/Library/CloudStorage/Dropbox/Projects/Amazon/Replicated/.sst/platform/node_modules/esbuild/install.js:286:5\n\nNode.js v18.18.1\n\nerror: postinstall script from \"esbuild\" exited with 1\n"
× Could not install dependencies
dmeehan@MacBook-Pro-M1 dashboard %
Another run works fine.
Here is the output from npm list
of the 'dashboard' project;
├── @aws-sdk/client-timestream-query@3.564.0
├── @observablehq/plot@0.6.14
├── @types/node@20.12.7
├── @types/react-dom@18.2.24
├── @types/react-grid-layout@1.3.5
├── @types/react@18.2.75
├── autoprefixer@10.4.19
├── daisyui@4.10.2
├── eslint-config-next@14.2.3
├── eslint@8.57.0
├── next@14.2.3
├── node-cache@5.1.2
├── postcss-import@16.1.0
├── postcss-nesting@12.1.2
├── postcss@8.4.38
├── react-dom@18.2.0
├── react-grid-layout@1.4.4
├── react-icons@5.2.0
├── react@18.2.0
├── swr@2.2.5
├── tailwind-merge@2.3.0
├── tailwindcss@3.4.3
├── typescript@5.4.5
├── usehooks-ts@3.1.0
└── zod@3.23.4
Note that the nextjs dashboard project is stored in a subdirectory of the main repo where SST is installed:
/sst.config.ts
/packages
/dashboard
<next project>
Here is the npm list
from the main project:
├── @aws-cdk/aws-scheduler-alpha@2.136.1-alpha.0
├── @aws-cdk/aws-scheduler-targets-alpha@2.136.1-alpha.0
├── @aws-lambda-powertools/metrics@2.0.3
├── @aws-lambda-powertools/parameters@2.0.3
├── @aws-sdk/client-dynamodb@3.552.0
├── @aws-sdk/client-s3@3.552.0
├── @aws-sdk/client-scheduler@3.552.0
├── @aws-sdk/client-secrets-manager@3.552.0
├── @aws-sdk/client-sfn@3.552.0
├── @aws-sdk/client-sqs@3.552.0
├── @aws-sdk/client-timestream-query@3.552.0
├── @aws-sdk/client-timestream-write@3.552.0
├── @aws-sdk/lib-dynamodb@3.552.0
├── @aws-sdk/util-dynamodb@3.552.0
├── @observablehq/plot@0.6.14
├── @pulumi/pulumi@3.112.0
├── @types/aws-lambda@8.10.137
├── @types/crypto-js@4.2.2
├── @types/d3@7.4.3
├── @types/html-minifier-terser@7.0.2
├── @types/jest@29.5.12
├── @types/jsdom@21.1.6
├── @types/node@20.12.7
├── @types/sinon@17.0.3
├── @types/user-agents@1.0.4
├── aws-cdk-lib@2.136.1
├── axios@1.6.8
├── cheerio@1.0.0-rc.12
├── constructs@10.3.0
├── crypto-js@4.2.0
├── d3@7.9.0
├── esbuild@0.20.2
├── https-proxy-agent@7.0.4
├── jest-canvas-mock@2.5.2
├── jest-environment-jsdom@29.7.0
├── jest-mock-extended@3.0.6
├── jest@29.7.0
├── jsdom@24.0.0
├── serverless-mysql@1.5.5
├── sinon@17.0.1
├── source-map-support@0.5.21
├── ts-jest@29.1.2
├── ts-node@10.9.2
├── tsconfig-paths@4.2.0
├── typed-inject@4.0.0
├── typescript@5.4.4
├── user-agents@1.1.170
└── zod@3.22.4
Still failing when upgrading from 0.0.340 to 0.0.361, succeeds on second attempt:
dmeehan@MacBook-Pro-M1 dashboard % sst deploy --verbose
time=2024-05-10T19:59:56.091+01:00 level=INFO msg="checking for pulumi" path="/Users/dmeehan/Library/Application Support/sst/bin/pulumi"
time=2024-05-10T19:59:57.345+01:00 level=INFO msg="checking for bun" path="/Users/dmeehan/Library/Application Support/sst/bin/bun"
time=2024-05-10T19:59:57.375+01:00 level=INFO msg="initializing project" version=0.0.361
time=2024-05-10T19:59:57.375+01:00 level=INFO msg="esbuild building"
time=2024-05-10T19:59:57.429+01:00 level=INFO msg="esbuild built" outfile=/Users/dmeehan/Library/CloudStorage/Dropbox/Projects/Amazon/Replicated/.sst/eval/eval-1715367597375.mjs
time=2024-05-10T19:59:57.429+01:00 level=INFO msg="evaluating config"
time=2024-05-10T19:59:58.101+01:00 level=INFO msg="config evaluated"
time=2024-05-10T19:59:58.105+01:00 level=INFO msg="checking platform"
time=2024-05-10T19:59:58.106+01:00 level=INFO msg="installing platform"
⠋ Upgrading project...time=2024-05-10T20:00:01.223+01:00 level=INFO msg="installing deps"
time=2024-05-10T20:00:01.224+01:00 level=INFO msg="getting package" name=@sst-provider/aws version=latest
⠼ Installing providers...time=2024-05-10T20:00:01.554+01:00 level=INFO msg="getting package" name=@pulumi/aws version=latest
⠇ Installing providers...time=2024-05-10T20:00:02.016+01:00 level=INFO msg="writing package.json"
time=2024-05-10T20:00:02.019+01:00 level=INFO msg="adding dependency" name=aws
time=2024-05-10T20:00:02.029+01:00 level=INFO msg="fetching deps"
time=2024-05-10T20:00:08.561+01:00 level=ERROR msg="exited with error" err="failed to run bun install bun install v1.1.0 (5903a614)\n Resolving dependencies\n Resolved, downloaded and extracted [331]\n/Users/dmeehan/Library/CloudStorage/Dropbox/Projects/Amazon/Replicated/.sst/platform/node_modules/vite/node_modules/esbuild/install.js:133\n throw new Error(`Expected ${JSON.stringify(versionFromPackageJSON)} but got ${JSON.stringify(stdout)}`);\n ^\n\nError: Expected \"0.19.10\" but got \"0.20.2\"\n at validateBinaryVersion (/Users/dmeehan/Library/CloudStorage/Dropbox/Projects/Amazon/Replicated/.sst/platform/node_modules/vite/node_modules/esbuild/install.js:133:11)\n at /Users/dmeehan/Library/CloudStorage/Dropbox/Projects/Amazon/Replicated/.sst/platform/node_modules/vite/node_modules/esbuild/install.js:286:5\n\nNode.js v18.18.1\n\nerror: postinstall script from \"esbuild\" exited with 1\n"
× Could not install dependencies
@dmeehan1968 can you set NO_BUN=true
for the command the next time you do this? I wonder if it's related the package manager.
@jayair Yes, that seemed to make a difference (assuming nothing else changed and 0.0.361 didn't coincidentally fix it).
Note that it took nearly 4 minutes to complete the deploy (1:30 of which was upgrading the dependencies) which is longer than the ~1:40 it takes for a regular deploy without an SST deps update).
First, update sst:
dmeehan@MacBook-Pro-M1 dashboard % brew upgrade sst
==> Auto-updating Homebrew...
Adjust how often this is run with HOMEBREW_AUTO_UPDATE_SECS or disable with
HOMEBREW_NO_AUTO_UPDATE. Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
==> Auto-updated Homebrew!
==> Updated Homebrew from 4.2.21 (d194ed1b4f) to 4.3.0 (f4a9869d27).
Updated 3 taps (sst/tap, homebrew/core and homebrew/cask).
==> New Formulae
go-size-analyzer rust-parallel
==> New Casks
chatgpt font-0xproto weasis
You have 97 outdated formulae and 1 outdated cask installed.
The 4.3.0 release notes are available on the Homebrew Blog:
https://brew.sh/blog/4.3.0
==> Upgrading 1 outdated package:
sst/tap/sst 0.0.361 -> 0.0.368
==> Fetching sst/tap/sst
==> Downloading https://github.com/sst/ion/releases/download/v0.0.368/sst-mac-x86_64.tar.gz
==> Downloading from https://objects.githubusercontent.com/github-production-release-asset-2e65be/718823646/563abc26-8421-46a0-96e4-7215fb63120e?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=releasea
#################################################################################################################################################################################################### 100.0%
==> Upgrading sst/tap/sst
0.0.361 -> 0.0.368
🍺 /usr/local/Cellar/sst/0.0.368: 6 files, 52.3MB, built in 38 seconds
==> Running `brew cleanup sst`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
Removing: /usr/local/Cellar/sst/0.0.361... (6 files, 53.4MB)
Removing: /Users/dmeehan/Library/Caches/Homebrew/sst--0.0.361.tar.gz... (20MB)
Run deploy with NO_BUN=true
environment:
dmeehan@MacBook-Pro-M1 dashboard % NO_BUN=true sst deploy --verbose
time=2024-05-14T19:21:20.259+01:00 level=INFO msg="checking for pulumi" path="/Users/dmeehan/Library/Application Support/sst/bin/pulumi"
time=2024-05-14T19:21:20.624+01:00 level=INFO msg="pulumi install"
time=2024-05-14T19:21:20.624+01:00 level=INFO msg="pulumi downloading" url=https://github.com/pulumi/pulumi/releases/download/v3.115.2/pulumi-v3.115.2-darwin-x64.tar.gz
⠧ Updating dependencies...time=2024-05-14T19:23:07.193+01:00 level=INFO msg="checking for bun" path="/Users/dmeehan/Library/Application Support/sst/bin/bun"
time=2024-05-14T19:23:07.239+01:00 level=INFO msg="initializing project" version=0.0.368
time=2024-05-14T19:23:07.240+01:00 level=INFO msg="esbuild building"
time=2024-05-14T19:23:07.314+01:00 level=INFO msg="esbuild built" outfile=/Users/dmeehan/Library/CloudStorage/Dropbox/Projects/Amazon/Replicated/.sst/eval/eval-1715710987240.mjs
time=2024-05-14T19:23:07.314+01:00 level=INFO msg="evaluating config"
time=2024-05-14T19:23:07.924+01:00 level=INFO msg="config evaluated"
time=2024-05-14T19:23:07.928+01:00 level=INFO msg="checking platform"
⠋ Upgrading project...time=2024-05-14T19:23:07.929+01:00 level=INFO msg="installing platform"
⠋ Upgrading project...time=2024-05-14T19:23:10.995+01:00 level=INFO msg="installing deps"
time=2024-05-14T19:23:10.995+01:00 level=INFO msg="getting package" name=@sst-provider/aws version=latest
⠏ Installing providers...time=2024-05-14T19:23:12.936+01:00 level=INFO msg="getting package" name=@pulumi/aws version=latest
⠧ Installing providers...time=2024-05-14T19:23:13.725+01:00 level=INFO msg="writing package.json"
time=2024-05-14T19:23:13.730+01:00 level=INFO msg="adding dependency" name=aws
time=2024-05-14T19:23:13.732+01:00 level=INFO msg="fetching deps"
⠙ Installing providers...time=2024-05-14T19:24:45.915+01:00 level=INFO msg="writing types"
⠹ Installing providers...time=2024-05-14T19:24:45.923+01:00 level=INFO msg="credentials found"
time=2024-05-14T19:24:45.927+01:00 level=INFO msg="fetching bootstrap"
⠦ Installing providers...time=2024-05-14T19:24:46.366+01:00 level=INFO msg="found existing bootstrap" data="{\"version\":1,\"asset\":\"sst-asset-mkzfwnszeetx\",\"state\":\"sst-state-mkzfwnszeetx\"}"
time=2024-05-14T19:24:46.367+01:00 level=INFO msg="loaded config" app=replicated stage=dmeehan
SST ❍ ion 0.0.368 ready!
➜ App: replicated
Stage: dmeehan
time=2024-05-14T19:24:46.368+01:00 level=INFO msg="running stack command" cmd=up
~ Deploying
time=2024-05-14T19:24:46.369+01:00 level=INFO msg="INFO locking app=replicated stage=dmeehan"
time=2024-05-14T19:24:46.369+01:00 level=INFO msg="INFO getting data key=lock app=replicated stage=dmeehan"
time=2024-05-14T19:24:46.703+01:00 level=INFO msg="INFO putting data key=lock app=replicated stage=dmeehan"
time=2024-05-14T19:24:46.972+01:00 level=INFO msg="INFO pulling state app=replicated stage=dmeehan out=/Users/dmeehan/Library/CloudStorage/Dropbox/Projects/Amazon/Replicated/.sst/.pulumi/stacks/replicated/dmeehan.json"
time=2024-05-14T19:24:47.579+01:00 level=INFO msg="INFO getting passphrase app=replicated stage=dmeehan"
time=2024-05-14T19:24:47.900+01:00 level=INFO msg="INFO getting data key=secret app=replicated stage=dmeehan"
time=2024-05-14T19:24:48.161+01:00 level=INFO msg="esbuild building"
time=2024-05-14T19:24:48.295+01:00 level=INFO msg="esbuild built" outfile=/Users/dmeehan/Library/CloudStorage/Dropbox/Projects/Amazon/Replicated/.sst/platform/eval/eval-1715711088161.mjs
time=2024-05-14T19:24:48.295+01:00 level=INFO msg="tracked files"
time=2024-05-14T19:24:52.816+01:00 level=INFO msg="built workspace"
time=2024-05-14T19:24:53.057+01:00 level=INFO msg="built stack"
time=2024-05-14T19:24:53.298+01:00 level=INFO msg="built config"
time=2024-05-14T19:24:53.299+01:00 level=INFO msg="running stack command" cmd=up
Running "npx --yes open-next@3.0.0-rc.16 build" script
Next.js v14.2.3
OpenNext v3.0.0-rc.16
┌─────────────────────────────────┐
│ OpenNext — Building Next.js app │
└─────────────────────────────────┘
> dashboard@0.1.0 build
> next build
▲ Next.js 14.2.3
Creating an optimized production build ...
🌼 daisyUI 4.11.1
├─ ✔︎ 2 themes added https://daisyui.com/docs/themes
╰─ ❤︎ Support daisyUI project: https://opencollective.com/daisyui
✓ Compiled successfully
Linting and checking validity of types ...
Collecting page data ...
Generating static pages (0/9) ...
Generating static pages (2/9)
Generating static pages (4/9)
Generating static pages (6/9)
✓ Generating static pages (9/9)
Finalizing page optimization ...
Collecting build traces ...
Route (app) Size First Load JS
┌ ○ / 149 kB 236 kB
├ ○ /_not-found 875 B 87.9 kB
├ ƒ /api/advert/count-by-interval 0 B 0 B
├ ƒ /api/advert/count-by-status 0 B 0 B
├ ƒ /api/advert/performance-by-week 0 B 0 B
└ ƒ /api/advert/price-band-by-date 0 B 0 B
+ First Load JS shared by all 87 kB
├ chunks/23-5c7f4381c4456f75.js 31.5 kB
├ chunks/fd9d1056-3b7d9eb91ddf012e.js 53.7 kB
└ other shared chunks (total) 1.92 kB
○ (Static) prerendered as static content
ƒ (Dynamic) server-rendered on demand
┌──────────────────────────────┐
│ OpenNext — Generating bundle │
└──────────────────────────────┘
Bundling middleware function...
Bundling static assets...
Bundling cache assets...
Building server function: default...
Bundling revalidation function...
Bundling image optimization function...
Bundling warmer function...
OpenNext build complete.
| Info Downloading provider: aws
| Updating Dashboard sst:aws:Nextjs → DashboardOriginAccessIdentity sst:aws:OriginAccessIdentity
| Updated Dashboard sst:aws:Nextjs → DashboardOriginAccessIdentity sst:aws:OriginAccessIdentity
| Updating Dashboard sst:aws:Nextjs → DashboardAssetFiles sst:aws:BucketFiles
| Creating DashboardRevalidationQueueSubscriberBbhdmk sst:aws:QueueLambdaSubscriber → DashboardRevalidationQueueSubscriberBbhdmkFunctionCode aws:s3:BucketObjectv2
| Creating Dashboard sst:aws:Nextjs → DashboardRevalidationSeederCode aws:s3:BucketObjectv2
| Creating Dashboard sst:aws:Nextjs → DashboardDefaultCode aws:s3:BucketObjectv2
| Creating Dashboard sst:aws:Nextjs → DashboardImageOptimizerCode aws:s3:BucketObjectv2
| Created Dashboard sst:aws:Nextjs → DashboardRevalidationSeederCode aws:s3:BucketObjectv2 (5.5s)
| Creating Dashboard sst:aws:Nextjs → DashboardRevalidationSeederCode aws:s3:BucketObjectv2
| Created Dashboard sst:aws:Nextjs → DashboardRevalidationSeederCode aws:s3:BucketObjectv2
| Updating Dashboard sst:aws:Nextjs → DashboardRevalidationSeederCodeUpdater sst:aws:FunctionCodeUpdater
| Created DashboardRevalidationQueueSubscriberBbhdmk sst:aws:QueueLambdaSubscriber → DashboardRevalidationQueueSubscriberBbhdmkFunctionCode aws:s3:BucketObjectv2 (5.7s)
| Creating DashboardRevalidationQueueSubscriberBbhdmk sst:aws:QueueLambdaSubscriber → DashboardRevalidationQueueSubscriberBbhdmkFunctionCode aws:s3:BucketObjectv2
| Created DashboardRevalidationQueueSubscriberBbhdmk sst:aws:QueueLambdaSubscriber → DashboardRevalidationQueueSubscriberBbhdmkFunctionCode aws:s3:BucketObjectv2
| Updating DashboardRevalidationQueueSubscriberBbhdmk sst:aws:QueueLambdaSubscriber → DashboardRevalidationQueueSubscriberBbhdmkFunctionCodeUpdater sst:aws:FunctionCodeUpdater
| Updated Dashboard sst:aws:Nextjs → DashboardRevalidationSeederCodeUpdater sst:aws:FunctionCodeUpdater (3.1s)
| Creating Dashboard sst:aws:Nextjs → DashboardRevalidationSeed aws:lambda:Invocation
| Updated DashboardRevalidationQueueSubscriberBbhdmk sst:aws:QueueLambdaSubscriber → DashboardRevalidationQueueSubscriberBbhdmkFunctionCodeUpdater sst:aws:FunctionCodeUpdater (2.9s)
| Updated Dashboard sst:aws:Nextjs → DashboardAssetFiles sst:aws:BucketFiles (11.6s)
| Updating Dashboard sst:aws:Nextjs → DashboardCdnWaiter sst:aws:DistributionDeploymentWaiter
| Updating Dashboard sst:aws:Nextjs → DashboardInvalidation sst:aws:DistributionInvalidation
| Created Dashboard sst:aws:Nextjs → DashboardRevalidationSeed aws:lambda:Invocation (2.6s)
| Creating Dashboard sst:aws:Nextjs → DashboardRevalidationSeed aws:lambda:Invocation
| Created Dashboard sst:aws:Nextjs → DashboardRevalidationSeed aws:lambda:Invocation
| Updated Dashboard sst:aws:Nextjs → DashboardInvalidation sst:aws:DistributionInvalidation (2.1s)
| Updated Dashboard sst:aws:Nextjs → DashboardCdnWaiter sst:aws:DistributionDeploymentWaiter (2.2s)
| Created Dashboard sst:aws:Nextjs → DashboardDefaultCode aws:s3:BucketObjectv2 (35.4s)
| Creating Dashboard sst:aws:Nextjs → DashboardDefaultCode aws:s3:BucketObjectv2
| Created Dashboard sst:aws:Nextjs → DashboardDefaultCode aws:s3:BucketObjectv2
| Updating Dashboard sst:aws:Nextjs → DashboardDefaultCodeUpdater sst:aws:FunctionCodeUpdater
| Updated Dashboard sst:aws:Nextjs → DashboardDefaultCodeUpdater sst:aws:FunctionCodeUpdater (1.8s)
| Created Dashboard sst:aws:Nextjs → DashboardImageOptimizerCode aws:s3:BucketObjectv2 (37.1s)
| Creating Dashboard sst:aws:Nextjs → DashboardImageOptimizerCode aws:s3:BucketObjectv2
| Created Dashboard sst:aws:Nextjs → DashboardImageOptimizerCode aws:s3:BucketObjectv2
| Updating Dashboard sst:aws:Nextjs → DashboardImageOptimizerCodeUpdater sst:aws:FunctionCodeUpdater
| Updated Dashboard sst:aws:Nextjs → DashboardImageOptimizerCodeUpdater sst:aws:FunctionCodeUpdater (2.2s)
| Deleting Dashboard sst:aws:Nextjs → DashboardRevalidationSeed aws:lambda:Invocation
| Deleting Dashboard sst:aws:Nextjs → DashboardRevalidationSeederCode aws:s3:BucketObjectv2
| Deleting Dashboard sst:aws:Nextjs → DashboardImageOptimizerCode aws:s3:BucketObjectv2
| Deleting DashboardRevalidationQueueSubscriberBbhdmk sst:aws:QueueLambdaSubscriber → DashboardRevalidationQueueSubscriberBbhdmkFunctionCode aws:s3:BucketObjectv2
| Deleting Dashboard sst:aws:Nextjs → DashboardDefaultCode aws:s3:BucketObjectv2
| Deleted Dashboard sst:aws:Nextjs → DashboardRevalidationSeederCode aws:s3:BucketObjectv2
| Deleted Dashboard sst:aws:Nextjs → DashboardImageOptimizerCode aws:s3:BucketObjectv2
| Deleted DashboardRevalidationQueueSubscriberBbhdmk sst:aws:QueueLambdaSubscriber → DashboardRevalidationQueueSubscriberBbhdmkFunctionCode aws:s3:BucketObjectv2
| Deleted Dashboard sst:aws:Nextjs → DashboardDefaultCode aws:s3:BucketObjectv2
| Deleted Dashboard sst:aws:Nextjs → DashboardRevalidationSeed aws:lambda:Invocation
⠹ Finalizing...time=2024-05-14T19:29:04.616+01:00 level=INFO msg="done running stack command"
time=2024-05-14T19:29:04.616+01:00 level=INFO msg="stack command complete"
⠏ Finalizing...time=2024-05-14T19:29:05.361+01:00 level=INFO msg="generating types" path=/Users/dmeehan/Library/CloudStorage/Dropbox/Projects/Amazon/Replicated/.sst/types.generated.ts count=0
time=2024-05-14T19:29:05.363+01:00 level=INFO msg="INFO putting links app=replicated stage=dmeehan"
time=2024-05-14T19:29:05.363+01:00 level=INFO msg="INFO putting data key=link app=replicated stage=dmeehan"
time=2024-05-14T19:29:05.363+01:00 level=INFO msg="INFO getting passphrase app=replicated stage=dmeehan"
✓ Complete
Dashboard: https://<REDACTED>.cloudfront.net
time=2024-05-14T19:29:06.177+01:00 level=INFO msg="INFO pushing state app=replicated stage=dmeehan from=/Users/dmeehan/Library/CloudStorage/Dropbox/Projects/Amazon/Replicated/.sst/.pulumi/stacks/replicated/dmeehan.json"
time=2024-05-14T19:29:09.276+01:00 level=INFO msg="INFO unlocking app=replicated stage=dmeehan"
dmeehan@MacBook-Pro-M1 dashboard %
This is reproducable by deleting the .sst
directory and running sst install
the first time after clearing. The project previously existed, but clearing the .sst
directory seems to provoke the same issue as an upgrade. Any subsequent call will succeed, but with sst install --verbose
the last line of output is:
time=2024-07-16T21:40:20.863+01:00 level=INFO msg="fetching deps"
time=2024-07-16T21:40:22.365+01:00 level=ERROR msg="exited with error" err="failed to run bun install bun install v1.1.0 (5903a614)\n/Users/dmeehan/Library/CloudStorage/Dropbox/Projects/Amazon/Replicated/.sst/platform/node_modules/vite/node_modules/esbuild/install.js:133\n throw new Error(`Expected ${JSON.stringify(versionFromPackageJSON)} but got ${JSON.stringify(stdout)}`);\n ^\n\nError: Expected \"0.19.10\" but got \"0.20.2\"\n at validateBinaryVersion (/Users/dmeehan/Library/CloudStorage/Dropbox/Projects/Amazon/Replicated/.sst/platform/node_modules/vite/node_modules/esbuild/install.js:133:11)\n at /Users/dmeehan/Library/CloudStorage/Dropbox/Projects/Amazon/Replicated/.sst/platform/node_modules/vite/node_modules/esbuild/install.js:286:5\n\nNode.js v20.15.1\n\nerror: postinstall script from \"esbuild\" exited with 1\n"
This seems to be refering to the version of esbuild, but I don't have one specified in the project (and still does the same if I install the specified version). However, .sst/platform/package.json
does specify 0.20.2, so it seems that's in part where the problem stems from. I DO have 0.20.2 in the containing project (I have my sst project in a subdirectory of a CDK project), but even if I downgrade this and run sst install
again (having cleared .sst
) the problem still persists. I don't have esbuild install globally.
One a second and subsequent command, the esbuild version stays the same but seems to be accepted, and the command completes successfully.
@thdxr
I've now experienced this problem every time I've updated the sst CLI using homebrew. Regardless of the command (install, deploy, dev commonly used), the first run after upgrade produces an error. It seems that all that is required is to repeat the command, although the error seems to eminate from a desire to check/update providers.
In this case, I pre-emptively ran
sst install
but that too failed (when I've triedsst deploy
orsst dev
the CLI emits a messages to the effect of 'installing providers' and then quits).Attempting a re-run with
--verbose
doesn't show anything relevant, as the second run always seems to work.