moonrepo / proto

A pluggable multi-language version manager.
https://moonrepo.dev/proto
MIT License
636 stars 30 forks source link

`proto::verify::invalid_checksum` when auto installing #600

Closed baptisteArno closed 3 weeks ago

baptisteArno commented 3 weeks ago

What version?

0.40.2

Which command?

No response

What happened?

When running node --version or pnpm --version in project that has non installed version requirements of those execs, it correctly auto download them but then I have a proto::verify::invalid_checksum error

node --version
Auto-install is enabled, attempting to install Node.js 20.17.0
Error: proto::verify::invalid_checksum

  × Checksum has failed for ~/.proto/temp/node/20.17.0/node-v20.17.0-darwin-
  │ arm64.tar.xz, which was verified using ~/.proto/temp/node/20.17.0/
  │ SHASUMS256.txt.

Trace logs?

[DEBUG 2024-08-27 21:35:39.871] proto  Running proto v0.40.2  bin="/Users/baptistearno/.proto/bin/proto" args=["run", "pnpm", "--", "--version"] shim="pnpm" shim_bin="/Users/baptistearno/.proto/shims/pnpm" pid=25025
[TRACE 21:35:39.871] starbase::app  Running startup phase
[DEBUG 21:35:39.871] proto_core::proto  Creating proto environment, detecting store  store="/Users/baptistearno/.proto"
[TRACE 21:35:39.871] starbase::app  Running analyze phase
[DEBUG 21:35:39.871] proto::systems  Loading configuration in upwards-global mode
[DEBUG 21:35:39.872] proto_core::proto_config  Loading .prototools  file="/Users/baptistearno/.prototools"
[TRACE 21:35:39.872] starbase_utils::fs  Reading file  file="/Users/baptistearno/.prototools"
[TRACE 21:35:39.872] schematic::config::loader  Loading partial configuration  config="ProtoConfig"
[TRACE 21:35:39.872] schematic::config::loader  Creating layer from source  config="ProtoConfig" source="<code>"
[TRACE 21:35:39.872] schematic::config::loader  Merging partial layers into a final result  config="ProtoConfig"
[DEBUG 21:35:39.872] proto_core::proto_config  Loading .prototools  file="/Users/baptistearno/.proto/.prototools"
[TRACE 21:35:39.872] starbase_utils::fs  Opening file  file="/Users/baptistearno/.proto/.prototools"
[TRACE 21:35:39.872] starbase_utils::fs_lock  Locking file  file="/Users/baptistearno/.proto/.prototools"
[TRACE 21:35:39.872] starbase_utils::fs_lock  Unlocking file  file="/Users/baptistearno/.proto/.prototools"
[TRACE 21:35:39.872] schematic::config::loader  Loading partial configuration  config="ProtoConfig"
[TRACE 21:35:39.872] schematic::config::loader  Creating layer from source  config="ProtoConfig" source="<code>"
[TRACE 21:35:39.872] schematic::config::loader  Merging partial layers into a final result  config="ProtoConfig"
[DEBUG 21:35:39.872] proto_core::proto_config  Merging loaded configs with global
[DEBUG 21:35:39.872] proto_core::proto_config  Merged 2 configs
[DEBUG 21:35:39.872] proto_core::proto_config  Merging loaded configs without global
[DEBUG 21:35:39.872] proto_core::proto_config  Merged 1 configs
[TRACE 21:35:39.872] starbase::app  Running execute phase
[DEBUG 21:35:39.872] proto_core::tool_loader  Finding a configured plugin  tool="pnpm"
[DEBUG 21:35:39.872] proto_core::tool_loader  Using a built-in plugin  plugin="https://github.com/moonrepo/tools/releases/download/node_depman_tool-v0.13.0/node_depman_tool.wasm"
[TRACE 21:35:39.872] warpgate::loader  Creating plugin loader  cache_dir="/Users/baptistearno/.proto/plugins"
[TRACE 21:35:39.872] warpgate::loader  Loading plugin pnpm  id="pnpm" locator="https://github.com/moonrepo/tools/releases/download/node_depman_tool-v0.13.0/node_depman_tool.wasm"
[TRACE 21:35:39.873] starbase_utils::fs  Reading file metadata  file="/Users/baptistearno/.proto/plugins/pnpm-5814c47ebb63b597606a0fed2e272c19473ca88ecdec572d3481e2a225d68c6f.wasm"
[TRACE 21:35:39.873] warpgate::loader  Plugin already downloaded and cached  id="pnpm" path="/Users/baptistearno/.proto/plugins/pnpm-5814c47ebb63b597606a0fed2e272c19473ca88ecdec572d3481e2a225d68c6f.wasm"
[DEBUG 21:35:39.873] proto_core::tool_loader  Loading WASM plugin  source="/Users/baptistearno/.proto/plugins/pnpm-5814c47ebb63b597606a0fed2e272c19473ca88ecdec572d3481e2a225d68c6f.wasm"
[TRACE 21:35:39.873] warpgate::plugin  Storing plugin identifier  id="pnpm"
[TRACE 21:35:39.873] warpgate::plugin  Storing host environment  id="pnpm" env={"arch":"arm64","libc":"gnu","os":"macos","home_dir":{"path":"/userhome/","virtual_prefix":"/userhome","real_prefix":"/Users/baptistearno"}}
[DEBUG 21:35:39.873] proto_core::tool  Creating tool pnpm and instantiating plugin
[DEBUG 21:35:39.873] warpgate::client  Creating HTTP client
[DEBUG 21:35:40.021] warpgate::client  Created HTTP client
[TRACE 21:35:40.021] warpgate::plugin  Creating plugin container  id="pnpm"
[TRACE 21:35:40.032] warpgate::plugin  Created plugin container  id="pnpm" plugin="b338f60b-78ad-4e31-9df0-9fa203438881"
[DEBUG 21:35:40.032] proto_core::tool  Created tool pnpm and its WASM runtime
[TRACE 21:35:40.032] warpgate::plugin  Calling guest function register_tool  id="pnpm" plugin="b338f60b-78ad-4e31-9df0-9fa203438881" input={"id":"pnpm"}
[TRACE 21:35:40.032] warpgate::plugin  Called guest function register_tool  id="pnpm" plugin="b338f60b-78ad-4e31-9df0-9fa203438881" output={"config_schema":{"name":"NodeDepmanPluginConfig","ty":{"type":"Struct","fields":{"dist-url":{"schema":{"ty":{"type":"String"}},"hidden":false,"nullable":false,"optional":true,"read_only":false,"write_only":false},"shared-globals-dir":{"schema":{"ty":{"type":"Boolean"}},"hidden":false,"nullable":false,"optional":true,"read_only":false,"write_only":false}},"partial":false}},"inventory":{},"name":"pnpm","plugin_version":"0.13.0","type":"DependencyManager"}
[DEBUG 21:35:40.032] proto_core::tool_manifest  Loading manifest.json  file="/Users/baptistearno/.proto/tools/pnpm/manifest.json"
[TRACE 21:35:40.032] starbase_utils::fs  Opening file  file="/Users/baptistearno/.proto/tools/pnpm/manifest.json"
[TRACE 21:35:40.032] starbase_utils::fs_lock  Locking file  file="/Users/baptistearno/.proto/tools/pnpm/manifest.json"
[TRACE 21:35:40.032] starbase_utils::fs_lock  Unlocking file  file="/Users/baptistearno/.proto/tools/pnpm/manifest.json"
[TRACE 21:35:40.032] proto_core::version_detector  Attempting to find version from .prototools files  tool="pnpm"
[TRACE 21:35:40.032] warpgate::plugin  Calling guest function detect_version_files  id="pnpm" plugin="b338f60b-78ad-4e31-9df0-9fa203438881" input={}
[TRACE 21:35:40.032] warpgate::plugin  Called guest function detect_version_files  id="pnpm" plugin="b338f60b-78ad-4e31-9df0-9fa203438881" output={"files":["package.json"],"ignore":["node_modules"]}
[TRACE 21:35:40.032] proto_core::tool  Attempting to detect a version from directory  tool="pnpm" dir="/Users/baptistearno/Dev/typebot.io/packages/deprecated/typebot-js"
[TRACE 21:35:40.032] starbase_utils::fs  Reading file  file="/Users/baptistearno/Dev/typebot.io/packages/deprecated/typebot-js/package.json"
[TRACE 21:35:40.032] warpgate::plugin  Calling guest function parse_version_file  id="pnpm" plugin="b338f60b-78ad-4e31-9df0-9fa203438881" input={"content":"{\n  \"name\": \"typebot-js\",\n  \"version\": \"2.2.17\",\n  \"main\": \"dist/index.js\",\n  \"unpkg\": \"dist/index.global.js\",\n  \"license\": \"AGPL-3.0-or-later\",\n  \"scripts\": {\n    \"dev\": \"tsup --watch\",\n    \"build\": \"tsup\",\n    \"test\": \"pnpm jest\"\n  },\n  \"devDependencies\": {\n    \"@types/jest\": \"29.4.0\",\n    \"tsup\": \"6.5.0\",\n    \"eslint\": \"8.44.0\",\n    \"eslint-config-custom\": \"workspace:*\",\n    \"jest\": \"29.4.1\",\n    \"jest-environment-jsdom\": \"29.4.1\",\n    \"prettier\": \"2.8.8\",\n    \"ts-jest\": \"29.0.5\",\n    \"typescript\": \"5.4.5\",\n    \"@typebot.io/tsconfig\": \"workspace:*\"\n  }\n}","file":"package.json"}
[TRACE 21:35:40.033] warpgate::plugin  Called guest function parse_version_file  id="pnpm" plugin="b338f60b-78ad-4e31-9df0-9fa203438881" output={}
[TRACE 21:35:40.033] proto_core::tool  Attempting to detect a version from directory  tool="pnpm" dir="/Users/baptistearno/Dev/typebot.io/packages/deprecated"
[TRACE 21:35:40.033] proto_core::tool  Attempting to detect a version from directory  tool="pnpm" dir="/Users/baptistearno/Dev/typebot.io/packages"
[TRACE 21:35:40.033] proto_core::tool  Attempting to detect a version from directory  tool="pnpm" dir="/Users/baptistearno/Dev/typebot.io"
[TRACE 21:35:40.033] starbase_utils::fs  Reading file  file="/Users/baptistearno/Dev/typebot.io/package.json"
[TRACE 21:35:40.033] warpgate::plugin  Calling guest function parse_version_file  id="pnpm" plugin="b338f60b-78ad-4e31-9df0-9fa203438881" input={"content":"{\n  \"version\": \"2.27.0\",\n  \"name\": \"typebot-os\",\n  \"private\": true,\n  \"workspaces\": [\n    \"ee/apps/*\",\n    \"ee/packages/*\",\n    \"packages/*\",\n    \"packages/deprecated/*\",\n    \"packages/embeds/*\",\n    \"packages/forge/*\",\n    \"packages/forge/blocks/*\",\n    \"apps/*\"\n  ],\n  \"scripts\": {\n    \"prepare\": \"husky install\",\n    \"postinstall\": \"update-ts-references\",\n    \"docker:up\": \"docker compose -f docker-compose.dev.yml up -d && node -e \\\"setTimeout(() => {}, 5000)\\\"\",\n    \"docker:nuke\": \"docker compose -f docker-compose.dev.yml down --volumes --remove-orphans\",\n    \"lint\": \"turbo run lint\",\n    \"dev\": \"pnpm docker:up && turbo build --filter=@typebot.io/nextjs... && turbo run dev --filter=builder... --filter=viewer... --parallel --no-cache\",\n    \"build\": \"pnpm docker:up && turbo run build\",\n    \"build:apps\": \"turbo run build --filter=builder... --filter=viewer...\",\n    \"db:migrate\": \"cd packages/prisma && pnpm run db:migrate\",\n    \"generate-change-log\": \"git fetch --all && pnpx gitmoji-changelog\",\n    \"locales:sync\": \"tolgee sync --continue-on-warning --remove-unused --patterns './apps/builder/src/**/*.ts?(x)' --backup './.tolgee/backup'\",\n    \"locales:pull\": \"tolgee pull && prettier --write ./apps/builder/src/i18n\",\n    \"create-new-block\": \"cd packages/forge/cli && pnpm start\",\n    \"format:check\": \"turbo run format:check\",\n    \"patch-embed-libs\": \"bun scripts/patch-embed-libs.ts\"\n  },\n  \"devDependencies\": {\n    \"@tolgee/cli\": \"2.1.5\",\n    \"cross-env\": \"7.0.3\",\n    \"cz-emoji\": \"1.3.2-canary.2\",\n    \"husky\": \"8.0.3\",\n    \"prettier\": \"2.8.8\",\n    \"turbo\": \"2.0.5\",\n    \"update-ts-references\": \"3.3.0\"\n  },\n  \"config\": {\n    \"commitizen\": {\n      \"path\": \"node_modules/cz-emoji\"\n    }\n  },\n  \"engines\": {\n    \"node\": \"20.x\",\n    \"pnpm\": \"9.5.0\"\n  }\n}","file":"package.json"}
[TRACE 21:35:40.033] warpgate::plugin  Called guest function parse_version_file  id="pnpm" plugin="b338f60b-78ad-4e31-9df0-9fa203438881" output={"version":"9.5.0"}
[DEBUG 21:35:40.033] proto_core::tool  Detected a version  tool="pnpm" file="/Users/baptistearno/Dev/typebot.io/package.json" version="9.5.0"
[DEBUG 21:35:40.033] proto_core::version_detector  Detected version from tool's ecosystem  tool="pnpm" version="9.5.0" file="/Users/baptistearno/Dev/typebot.io/package.json"
[DEBUG 21:35:40.033] proto_core::tool  Resolving a semantic version or alias  tool="pnpm" initial_version="9.5.0"
[DEBUG 21:35:40.033] proto_core::tool  Resolved to 9.5.0 (without validation)  tool="pnpm" version="9.5.0"
[DEBUG 21:35:40.033] proto_core::tool  Checking if tool is installed  tool="pnpm" install_dir="/Users/baptistearno/.proto/tools/pnpm/9.5.0"
[DEBUG 21:35:40.033] proto_core::tool  Tool has already been installed, locating binaries and shims  tool="pnpm" install_dir="/Users/baptistearno/.proto/tools/pnpm/9.5.0"
[DEBUG 21:35:40.033] proto_core::tool  Locating executable for tool  tool="pnpm"
[TRACE 21:35:40.033] warpgate::plugin  Calling guest function locate_executables  id="pnpm" plugin="b338f60b-78ad-4e31-9df0-9fa203438881" input={"context":{"proto_version":"0.40.3","tool_dir":{"path":"/proto/tools/pnpm/9.5.0","virtual_prefix":"/proto","real_prefix":"/Users/baptistearno/.proto"},"version":"9.5.0"}}
[TRACE 21:35:40.034] warpgate::plugin  Called guest function locate_executables  id="pnpm" plugin="b338f60b-78ad-4e31-9df0-9fa203438881" output={"exes_dir":".","globals_lookup_dirs":["$PREFIX/bin","$PNPM_HOME","$HOME/Library/pnpm"],"primary":{"exe_path":"bin/pnpm.cjs","no_bin":true,"parent_exe_name":"node"},"secondary":{"pnpx":{"no_bin":true,"shim_before_args":"dlx"}}}
[DEBUG 21:35:40.034] proto_core::tool  Found an executable  tool="pnpm" exe_path="/Users/baptistearno/.proto/tools/pnpm/9.5.0/bin/pnpm.cjs"
[DEBUG 21:35:40.034] proto_core::tool  Locating globals bin directories for tool  tool="pnpm"
[DEBUG 21:35:40.034] proto_core::tool  Located possible globals directories  tool="pnpm" dirs=["/Users/baptistearno/Library/pnpm"]
[DEBUG 21:35:40.034] proto_core::tool  Found a usable globals directory  tool="pnpm" dir="/Users/baptistearno/Library/pnpm"
[TRACE 21:35:40.034] warpgate::plugin  Calling guest function pre_run  id="pnpm" plugin="b338f60b-78ad-4e31-9df0-9fa203438881" input={"context":{"proto_version":"0.40.3","tool_dir":{"path":"/proto/tools/pnpm/9.5.0","virtual_prefix":"/proto","real_prefix":"/Users/baptistearno/.proto"},"version":"9.5.0"},"globals_dir":{"path":"/userhome/Library/pnpm","virtual_prefix":"/userhome","real_prefix":"/Users/baptistearno"},"globals_prefix":null,"passthrough_args":["--version"]}
[TRACE 21:35:40.034] warpgate::plugin  Called guest function pre_run  id="pnpm" plugin="b338f60b-78ad-4e31-9df0-9fa203438881" output={"args":null,"env":null}
[DEBUG 21:35:40.034] proto::commands::run  Running pnpm  bin="node" args=["/Users/baptistearno/.proto/tools/pnpm/9.5.0/bin/pnpm.cjs", "--version"] pid=25025
[TRACE 21:35:40.034] starbase_utils::fs  Writing file  file="/Users/baptistearno/.proto/tools/pnpm/9.5.0/.last-used"
[DEBUG 2024-08-27 21:35:40.040] proto  Running proto v0.40.2  bin="/Users/baptistearno/.proto/bin/proto" args=["run", "node", "--", "/Users/baptistearno/.proto/tools/pnpm/9.5.0/bin/pnpm.cjs", "--version"] shim="node" shim_bin="/Users/baptistearno/.proto/shims/node" pid=25025
[TRACE 21:35:40.040] starbase::app  Running startup phase
[DEBUG 21:35:40.040] proto_core::proto  Creating proto environment, detecting store  store="/Users/baptistearno/.proto"
[TRACE 21:35:40.040] starbase::app  Running analyze phase
[DEBUG 21:35:40.040] proto::systems  Loading configuration in upwards-global mode
[DEBUG 21:35:40.040] proto_core::proto_config  Loading .prototools  file="/Users/baptistearno/.prototools"
[TRACE 21:35:40.040] starbase_utils::fs  Reading file  file="/Users/baptistearno/.prototools"
[TRACE 21:35:40.040] schematic::config::loader  Loading partial configuration  config="ProtoConfig"
[TRACE 21:35:40.040] schematic::config::loader  Creating layer from source  config="ProtoConfig" source="<code>"
[TRACE 21:35:40.040] schematic::config::loader  Merging partial layers into a final result  config="ProtoConfig"
[DEBUG 21:35:40.040] proto_core::proto_config  Loading .prototools  file="/Users/baptistearno/.proto/.prototools"
[TRACE 21:35:40.040] starbase_utils::fs  Opening file  file="/Users/baptistearno/.proto/.prototools"
[TRACE 21:35:40.040] starbase_utils::fs_lock  Locking file  file="/Users/baptistearno/.proto/.prototools"
[TRACE 21:35:40.040] starbase_utils::fs_lock  Unlocking file  file="/Users/baptistearno/.proto/.prototools"
[TRACE 21:35:40.040] schematic::config::loader  Loading partial configuration  config="ProtoConfig"
[TRACE 21:35:40.040] schematic::config::loader  Creating layer from source  config="ProtoConfig" source="<code>"
[TRACE 21:35:40.041] schematic::config::loader  Merging partial layers into a final result  config="ProtoConfig"
[DEBUG 21:35:40.041] proto_core::proto_config  Merging loaded configs with global
[DEBUG 21:35:40.041] proto_core::proto_config  Merged 2 configs
[DEBUG 21:35:40.041] proto_core::proto_config  Merging loaded configs without global
[DEBUG 21:35:40.041] proto_core::proto_config  Merged 1 configs
[TRACE 21:35:40.041] starbase::app  Running execute phase
[DEBUG 21:35:40.041] proto_core::tool_loader  Finding a configured plugin  tool="node"
[DEBUG 21:35:40.041] proto_core::tool_loader  Using a built-in plugin  plugin="https://github.com/moonrepo/tools/releases/download/node_tool-v0.12.0/node_tool.wasm"
[TRACE 21:35:40.041] warpgate::loader  Creating plugin loader  cache_dir="/Users/baptistearno/.proto/plugins"
[TRACE 21:35:40.041] warpgate::loader  Loading plugin node  id="node" locator="https://github.com/moonrepo/tools/releases/download/node_tool-v0.12.0/node_tool.wasm"
[TRACE 21:35:40.041] starbase_utils::fs  Reading file metadata  file="/Users/baptistearno/.proto/plugins/node-dad1cbc99a433f56594101a3298836ae44edf6fc8b855aba481e8934e9c9215d.wasm"
[TRACE 21:35:40.041] warpgate::loader  Plugin already downloaded and cached  id="node" path="/Users/baptistearno/.proto/plugins/node-dad1cbc99a433f56594101a3298836ae44edf6fc8b855aba481e8934e9c9215d.wasm"
[DEBUG 21:35:40.041] proto_core::tool_loader  Loading WASM plugin  source="/Users/baptistearno/.proto/plugins/node-dad1cbc99a433f56594101a3298836ae44edf6fc8b855aba481e8934e9c9215d.wasm"
[TRACE 21:35:40.041] warpgate::plugin  Storing plugin identifier  id="node"
[TRACE 21:35:40.041] warpgate::plugin  Storing host environment  id="node" env={"arch":"arm64","libc":"gnu","os":"macos","home_dir":{"path":"/userhome/","virtual_prefix":"/userhome","real_prefix":"/Users/baptistearno"}}
[DEBUG 21:35:40.041] proto_core::tool  Creating tool node and instantiating plugin
[DEBUG 21:35:40.041] warpgate::client  Creating HTTP client
[DEBUG 21:35:40.181] warpgate::client  Created HTTP client
[TRACE 21:35:40.181] warpgate::plugin  Creating plugin container  id="node"
[TRACE 21:35:40.189] warpgate::plugin  Created plugin container  id="node" plugin="2e15e1ad-b647-4812-8d90-500d0eb5b5b5"
[DEBUG 21:35:40.189] proto_core::tool  Created tool node and its WASM runtime
[TRACE 21:35:40.189] warpgate::plugin  Calling guest function register_tool  id="node" plugin="2e15e1ad-b647-4812-8d90-500d0eb5b5b5" input={"id":"node"}
[TRACE 21:35:40.189] warpgate::plugin  Called guest function register_tool  id="node" plugin="2e15e1ad-b647-4812-8d90-500d0eb5b5b5" output={"config_schema":{"name":"NodePluginConfig","ty":{"type":"Struct","fields":{"bundled-npm":{"schema":{"ty":{"type":"Boolean"}},"hidden":false,"nullable":false,"optional":true,"read_only":false,"write_only":false},"dist-url":{"schema":{"ty":{"type":"String"}},"hidden":false,"nullable":false,"optional":true,"read_only":false,"write_only":false}},"partial":false}},"inventory":{},"name":"Node.js","plugin_version":"0.12.0","type":"Language"}
[DEBUG 21:35:40.189] proto_core::tool_manifest  Loading manifest.json  file="/Users/baptistearno/.proto/tools/node/manifest.json"
[TRACE 21:35:40.189] starbase_utils::fs  Opening file  file="/Users/baptistearno/.proto/tools/node/manifest.json"
[TRACE 21:35:40.189] starbase_utils::fs_lock  Locking file  file="/Users/baptistearno/.proto/tools/node/manifest.json"
[TRACE 21:35:40.189] starbase_utils::fs_lock  Unlocking file  file="/Users/baptistearno/.proto/tools/node/manifest.json"
[TRACE 21:35:40.189] proto_core::version_detector  Attempting to find version from .prototools files  tool="node"
[TRACE 21:35:40.189] warpgate::plugin  Calling guest function detect_version_files  id="node" plugin="2e15e1ad-b647-4812-8d90-500d0eb5b5b5" input={}
[TRACE 21:35:40.190] warpgate::plugin  Called guest function detect_version_files  id="node" plugin="2e15e1ad-b647-4812-8d90-500d0eb5b5b5" output={"files":[".nvmrc",".node-version","package.json"],"ignore":["node_modules"]}
[TRACE 21:35:40.190] proto_core::tool  Attempting to detect a version from directory  tool="node" dir="/Users/baptistearno/Dev/typebot.io/packages/deprecated/typebot-js"
[TRACE 21:35:40.190] starbase_utils::fs  Reading file  file="/Users/baptistearno/Dev/typebot.io/packages/deprecated/typebot-js/package.json"
[TRACE 21:35:40.190] warpgate::plugin  Calling guest function parse_version_file  id="node" plugin="2e15e1ad-b647-4812-8d90-500d0eb5b5b5" input={"content":"{\n  \"name\": \"typebot-js\",\n  \"version\": \"2.2.17\",\n  \"main\": \"dist/index.js\",\n  \"unpkg\": \"dist/index.global.js\",\n  \"license\": \"AGPL-3.0-or-later\",\n  \"scripts\": {\n    \"dev\": \"tsup --watch\",\n    \"build\": \"tsup\",\n    \"test\": \"pnpm jest\"\n  },\n  \"devDependencies\": {\n    \"@types/jest\": \"29.4.0\",\n    \"tsup\": \"6.5.0\",\n    \"eslint\": \"8.44.0\",\n    \"eslint-config-custom\": \"workspace:*\",\n    \"jest\": \"29.4.1\",\n    \"jest-environment-jsdom\": \"29.4.1\",\n    \"prettier\": \"2.8.8\",\n    \"ts-jest\": \"29.0.5\",\n    \"typescript\": \"5.4.5\",\n    \"@typebot.io/tsconfig\": \"workspace:*\"\n  }\n}","file":"package.json"}
[TRACE 21:35:40.190] warpgate::plugin  Called guest function parse_version_file  id="node" plugin="2e15e1ad-b647-4812-8d90-500d0eb5b5b5" output={}
[TRACE 21:35:40.190] proto_core::tool  Attempting to detect a version from directory  tool="node" dir="/Users/baptistearno/Dev/typebot.io/packages/deprecated"
[TRACE 21:35:40.190] proto_core::tool  Attempting to detect a version from directory  tool="node" dir="/Users/baptistearno/Dev/typebot.io/packages"
[TRACE 21:35:40.190] proto_core::tool  Attempting to detect a version from directory  tool="node" dir="/Users/baptistearno/Dev/typebot.io"
[TRACE 21:35:40.190] starbase_utils::fs  Reading file  file="/Users/baptistearno/Dev/typebot.io/package.json"
[TRACE 21:35:40.190] warpgate::plugin  Calling guest function parse_version_file  id="node" plugin="2e15e1ad-b647-4812-8d90-500d0eb5b5b5" input={"content":"{\n  \"version\": \"2.27.0\",\n  \"name\": \"typebot-os\",\n  \"private\": true,\n  \"workspaces\": [\n    \"ee/apps/*\",\n    \"ee/packages/*\",\n    \"packages/*\",\n    \"packages/deprecated/*\",\n    \"packages/embeds/*\",\n    \"packages/forge/*\",\n    \"packages/forge/blocks/*\",\n    \"apps/*\"\n  ],\n  \"scripts\": {\n    \"prepare\": \"husky install\",\n    \"postinstall\": \"update-ts-references\",\n    \"docker:up\": \"docker compose -f docker-compose.dev.yml up -d && node -e \\\"setTimeout(() => {}, 5000)\\\"\",\n    \"docker:nuke\": \"docker compose -f docker-compose.dev.yml down --volumes --remove-orphans\",\n    \"lint\": \"turbo run lint\",\n    \"dev\": \"pnpm docker:up && turbo build --filter=@typebot.io/nextjs... && turbo run dev --filter=builder... --filter=viewer... --parallel --no-cache\",\n    \"build\": \"pnpm docker:up && turbo run build\",\n    \"build:apps\": \"turbo run build --filter=builder... --filter=viewer...\",\n    \"db:migrate\": \"cd packages/prisma && pnpm run db:migrate\",\n    \"generate-change-log\": \"git fetch --all && pnpx gitmoji-changelog\",\n    \"locales:sync\": \"tolgee sync --continue-on-warning --remove-unused --patterns './apps/builder/src/**/*.ts?(x)' --backup './.tolgee/backup'\",\n    \"locales:pull\": \"tolgee pull && prettier --write ./apps/builder/src/i18n\",\n    \"create-new-block\": \"cd packages/forge/cli && pnpm start\",\n    \"format:check\": \"turbo run format:check\",\n    \"patch-embed-libs\": \"bun scripts/patch-embed-libs.ts\"\n  },\n  \"devDependencies\": {\n    \"@tolgee/cli\": \"2.1.5\",\n    \"cross-env\": \"7.0.3\",\n    \"cz-emoji\": \"1.3.2-canary.2\",\n    \"husky\": \"8.0.3\",\n    \"prettier\": \"2.8.8\",\n    \"turbo\": \"2.0.5\",\n    \"update-ts-references\": \"3.3.0\"\n  },\n  \"config\": {\n    \"commitizen\": {\n      \"path\": \"node_modules/cz-emoji\"\n    }\n  },\n  \"engines\": {\n    \"node\": \"20.x\",\n    \"pnpm\": \"9.5.0\"\n  }\n}","file":"package.json"}
[TRACE 21:35:40.190] warpgate::plugin  Called guest function parse_version_file  id="node" plugin="2e15e1ad-b647-4812-8d90-500d0eb5b5b5" output={"version":"~20"}
[DEBUG 21:35:40.190] proto_core::tool  Detected a version  tool="node" file="/Users/baptistearno/Dev/typebot.io/package.json" version="~20"
[DEBUG 21:35:40.190] proto_core::version_detector  Detected version from tool's ecosystem  tool="node" version="~20" file="/Users/baptistearno/Dev/typebot.io/package.json"
[DEBUG 21:35:40.190] proto_core::tool  Resolving a semantic version or alias  tool="node" initial_version="~20"
[DEBUG 21:35:40.190] proto_core::tool  Loading available versions  tool="node"
[TRACE 21:35:40.190] starbase_utils::fs  Reading file metadata  file="/Users/baptistearno/.proto/tools/node/remote-versions.json"
[TRACE 21:35:40.190] starbase_utils::fs  Reading file  file="/Users/baptistearno/.proto/tools/node/remote-versions.json"
[TRACE 21:35:40.190] starbase_utils::json  Reading JSON file  file="/Users/baptistearno/.proto/tools/node/remote-versions.json"
[TRACE 21:35:40.190] warpgate::plugin  Calling guest function resolve_version  id="node" plugin="2e15e1ad-b647-4812-8d90-500d0eb5b5b5" input={"initial":"~20"}
[TRACE 21:35:40.190] warpgate::plugin  Called guest function resolve_version  id="node" plugin="2e15e1ad-b647-4812-8d90-500d0eb5b5b5" output={}
[TRACE 21:35:40.190] proto_core::version_resolver  Resolving a version with manifest  candidate="~20"
[TRACE 21:35:40.190] proto_core::version_resolver  Found a requirement, resolving further  requirement="~20"
[TRACE 21:35:40.190] proto_core::version_resolver  Resolved to remote available version  version="20.17.0"
[DEBUG 21:35:40.190] proto_core::tool  Resolved to 20.17.0  tool="node" version="20.17.0"
[DEBUG 21:35:40.190] proto_core::tool  Checking if tool is installed  tool="node" install_dir="/Users/baptistearno/.proto/tools/node/20.17.0"
[DEBUG 21:35:40.190] proto_core::tool  Tool has not been installed  tool="node"
Auto-install is enabled, attempting to install Node.js 20.17.0
 ──────────────────── | Installing 20.17.0                                                          [DEBUG 21:35:40.191] proto_core::tool  Checking if tool is installed  tool="node" install_dir="/Users/baptistearno/.proto/tools/node/20.17.0"
[DEBUG 21:35:40.191] proto_core::tool  Tool has not been installed  tool="node"
[DEBUG 21:35:40.191] proto::commands::install  Installing Node.js with version 20.17.0 (from 20.17.0)
[TRACE 21:35:40.191] starbase_utils::net  Checking for an internet connection  timeout=750
[TRACE 21:35:40.191] starbase_utils::net::offline  Resolving 1.1.1.1:53
[TRACE 21:35:40.228] starbase_utils::net  Online!
[TRACE 21:35:40.228] starbase_utils::fs_lock  Locking directory  dir="/Users/baptistearno/.proto/tools/node/20.17.0"
[TRACE 21:35:40.228] starbase_utils::fs  Creating file without truncating  file="/Users/baptistearno/.proto/tools/node/20.17.0/.lock"
[TRACE 21:35:40.229] starbase_utils::fs_lock  Waiting to acquire lock on directory  lock="/Users/bap
tistearno/.proto/tools/node/20.17.0/.lock"
[TRACE 21:35:40.229] starbase_utils::fs_lock  Acquired lock on directory, writing PID  lock="/Users/baptistearno/.proto/tools/node/20.17.0/.lock" pid=25025
[DEBUG 21:35:40.229] proto_core::tool  Installing tool from a pre-built archive  tool="node"
[TRACE 21:35:40.229] warpgate::plugin  Calling guest function download_prebuilt  id="node" plugin="2e15e1ad-b647-4812-8d90-500d0eb5b5b5" input={"context":{"proto_version":"0.40.3","tool_dir":{"path":"/proto/tools/node/20.17.0","virtual_prefix":"/proto","real_prefix":"/Users/baptistearno/.proto"},"version":"20.17.0"},"install_dir":{"path":"/proto/tools/node/20.17.0","virtual_prefix":"/proto","real_prefix":"/Users/baptistearno/.proto"}}
[TRACE 21:35:40.229] warpgate::plugin  Called guest function download_prebuilt  id="node" plugin="2e15e1ad-b647-4812-8d90-500d0eb5b5b5" output={"archive_prefix":"node-v20.17.0-darwin-arm64","checksum_url":"https://nodejs.org/download/release/v20.17.0/SHASUMS256.txt","download_name":"node-v20.17.0-darwin-arm64.tar.xz","download_url":"https://nodejs.org/download/release/v20.17.0/node-v20.17.0-darwin-arm64.tar.xz"}
 ──────────────────── |   0 B / 100 B | 0 B/s | Downloading pre-built archive                       [DEBUG 21:35:40.229] proto_core::tool  Tool already downloaded, continuing  tool="node"
 ━━━━╾                | Verifying checksum                                                          [DEBUG 21:35:40.230] proto_core::tool  Verifying checksum of downloaded file  tool="node" download_file="/Users/baptistearno/.proto/temp/node/20.17.0/node-v20.17.0-darwin-arm64.tar.xz" checksum_file="/Users/baptistearno/.proto/temp/node/20.17.0/SHASUMS256.txt"
[TRACE 21:35:40.230] proto_core::checksum::sha256  Calculating SHA256 checksum  file="/Users/baptistearno/.proto/temp/node/20.17.0/node-v20.17.0-darwin-arm64.tar.xz"
[TRACE 21:35:40.230] starbase_utils::fs  Opening file  file="/Users/baptistearno/.proto/temp/node/20.17.0/node-v20.17.0-darwin-arm64.tar.xz"
[TRACE 21:35:40.230] proto_core::checksum::sha256  Calculated hash  hash="f446e6a5dedca2e5d337bd8d81cdcfff7b66cadeeb9420011fd2648e8ec401df"
[TRACE 21:35:40.230] starbase_utils::fs  Opening file  file="/Users/baptistearno/.proto/temp/node/20.17.0/SHASUMS256.txt"
[TRACE 21:35:40.230] starbase_utils::fs_lock  Unlocking directory  dir="/Users/baptistearno/.proto/tools/node/20.17.0"
[TRACE 21:35:40.230] starbase_utils::fs  Removing file  file="/Users/baptistearno/.proto/tools/node/20.17.0/.lock"
[TRACE 21:35:40.232] starbase::app  Running shutdown phase (because another phase failed)
Error: proto::verify::invalid_checksum

  × Checksum has failed for ~/.proto/temp/node/20.17.0/node-v20.17.0-darwin-arm64.tar.xz, which
  │ was verified using ~/.proto/temp/node/20.17.0/SHASUMS256.txt.

Operating system?

MacOS

Architecture?

arm64

baptisteArno commented 3 weeks ago

Manually install the version works proto install node 20.17

milesj commented 3 weeks ago

Sometimes when this error occurs, it's not actually because the hash is wrong, but because the files were partially downloaded but interrupted halfway through (ctrl+c'd maybe).

If you delete the files ~/.proto/temp/node/20.17.0/node-v20.17.0-darwin-arm64.tar.xz and ~/.proto/temp/node/20.17.0/SHASUMS256.txt, and then the install works, that's probably what caused it. I need to figure out a way to detect this, but capturing interruptions is difficult.

Also, it looks liek the hash it generated was f446e6a5dedca2e5d337bd8d81cdcfff7b66cadeeb9420011fd2648e8ec401df. You can open the SHASHUMS256.txt file and see what hash they have.

milesj commented 3 weeks ago

After looking at the logs, I think that's what happened:

[DEBUG 21:35:40.229] proto_core::tool  Tool already downloaded, continuing  tool="node"
baptisteArno commented 3 weeks ago

Just tried with another version and I can't reproduce the bug. Maybe I misclicked when it was downloading at first like you say :)

milesj commented 3 weeks ago

Cool.

I think I'll have the install just ignore previous downloads to avoid this scenario.