vercel部署时遇到ERR_INVAILD_THIS的解决方法
通过指定使用pnpm版本和启用vercel的实验性功能来解决ERR_INVAILD_THIS问题
5 min
在Vercel部署Astro时,遇到 ERR_INVAILD_THIS 错误

点此展开完整错误日志
20:05
.017 Running build in Washington, D.C., USA (East) – iad1 20:05.018 Build machine configuration: 2 cores, 8 GB 20:05.238 Cloning github.com/xtawa/twilight (Branch: main, Commit: 729e4e8) 20:05.239 Previous build caches not available. 20:05.514 Cloning completed: 1.276s 20:05.899 Warning: Due to “engines”: { “node”: ”>=20.0.0” } in yourpackage.json file, the Node.js Version defined in your Project Settings (“20.x”) will not apply, Node.js Version “24.x” will be used instead. Learn More: http://vercel.link/node-version
20:05.902 Warning: Detected “engines”: { “node”: ”>=20.0.0” } in your package.json that will automatically upgrade when a new major Node.js Version is released. Learn More: http://vercel.link/node-version
20:05.902 Running “vercel build”
20:05.346 Vercel CLI 49.0.0
20:05.013 Warning: Due to “engines”: { “node”: ”>=20.0.0” } in your package.json file, the Node.js Version defined in your Project Settings (“20.x”) will not apply, Node.js Version “24.x” will be used instead. Learn More: http://vercel.link/node-version
20:05.014 Warning: Detected “engines”: { “node”: ”>=20.0.0” } in your package.json that will automatically upgrade when a new major Node.js Version is released. Learn More: http://vercel.link/node-version
20:05.018 Running “install” command: pnpm install…
20:06.857 WARN GET https://registry.npmjs.org/@astrojs%2Fts-plugin error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
20:06.858 WARN GET https://registry.npmjs.org/@iconify-json%2Fic error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
20:06.859 WARN GET https://registry.npmjs.org/@iconify-json%2Fmdi error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
20:06.859 WARN GET https://registry.npmjs.org/@rollup%2Fplugin-yaml error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
20:06.860 WARN GET https://registry.npmjs.org/@types%2Fhast error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
20:06.860 WARN GET https://registry.npmjs.org/@types%2Fmarkdown-it error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
20:06.861 WARN GET https://registry.npmjs.org/@types%2Fmdast error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
20:06.862 WARN GET https://registry.npmjs.org/@types%2Fsanitize-html error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
20:06.862 WARN GET https://registry.npmjs.org/postcss-import error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
20:06.862 WARN GET https://registry.npmjs.org/postcss-nesting error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
20:06.862 WARN GET https://registry.npmjs.org/@astrojs%2Fcheck error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
20:06.863 WARN GET https://registry.npmjs.org/@astrojs%2Fcloudflare error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
20:06.863 WARN GET https://registry.npmjs.org/@astrojs%2Frss error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
20:06.863 WARN GET https://registry.npmjs.org/@astrojs%2Fsitemap error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
20:06.863 WARN GET https://registry.npmjs.org/@biomejs%2Fbiome error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
20:06.863 WARN GET https://registry.npmjs.org/@astrojs%2Fsvelte error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
20:06.858 WARN GET https://registry.npmjs.org/@astrojs%2Fts-plugin error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.
20:06.860 WARN GET https://registry.npmjs.org/@iconify-json%2Fic error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.
20:06.860 WARN GET https://registry.npmjs.org/@iconify-json%2Fmdi error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.
20:06.860 WARN GET https://registry.npmjs.org/@rollup%2Fplugin-yaml error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.
20:06.860 WARN GET https://registry.npmjs.org/@types%2Fhast error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.
20:06.861 WARN GET https://registry.npmjs.org/@types%2Fmarkdown-it error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.
20:06.861 WARN GET https://registry.npmjs.org/@types%2Fmdast error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.
20:06.861 WARN GET https://registry.npmjs.org/@types%2Fsanitize-html error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.
20:06.861 WARN GET https://registry.npmjs.org/postcss-import error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.
20:06.861 WARN GET https://registry.npmjs.org/postcss-nesting error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.
20:06.862 WARN GET https://registry.npmjs.org/@astrojs%2Fcheck error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.
20:06.862 WARN GET https://registry.npmjs.org/@astrojs%2Fcloudflare error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.
20:06.862 WARN GET https://registry.npmjs.org/@astrojs%2Frss error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.
20:06.863 WARN GET https://registry.npmjs.org/@astrojs%2Fsitemap error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.
20:06.863 WARN GET https://registry.npmjs.org/@biomejs%2Fbiome error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.
20:06.863 WARN GET https://registry.npmjs.org/@astrojs%2Fsvelte error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.
20:07.865 WARN GET https://registry.npmjs.org/@astrojs%2Ftailwind error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
20:07.866 ERR_PNPM_META_FETCH_FAIL GET https://registry.npmjs.org/@astrojs%2Fts-plugin: Value of “this” must be of type URLSearchParams
20:07.867 WARN GET https://registry.npmjs.org/@astrojs%2Fvercel error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
20:07.868 WARN GET https://registry.npmjs.org/@elog%2Fcli error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
20:07.868 WARN GET https://registry.npmjs.org/@expressive-code%2Fcore error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
20:07.869 WARN GET https://registry.npmjs.org/@expressive-code%2Fplugin-collapsible-sections error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
20:07.869 WARN GET https://registry.npmjs.org/@expressive-code%2Fplugin-line-numbers error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
20:07.870 WARN GET https://registry.npmjs.org/@fancyapps%2Fui error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
20:07.870 WARN GET https://registry.npmjs.org/@fontsource-variable%2Fjetbrains-mono error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
20:07.871 WARN GET https://registry.npmjs.org/@fontsource%2Froboto error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
20:07.871 WARN GET https://registry.npmjs.org/@iconify-json%2Ffa6-brands error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
20:07.871 WARN GET https://registry.npmjs.org/@iconify-json%2Ffa6-regular error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
20:07.873 WARN GET https://registry.npmjs.org/@iconify-json%2Ffa6-solid error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
20:07.874 WARN GET https://registry.npmjs.org/@iconify-json%2Fmaterial-symbols error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
20:07.887 Error: Command “pnpm install” exited with 1
问题分析
Vercel使用的pnpm/npm版本可能有异常断流问题,需要升级版本.
解决方案
1.在 package.json 中指定:
"packageManager": "pnpm@10.24.0"2.在Vercel中 Settings-Build and development指定Node版本为最新
3.添加环境变量
ENABLE_EXPERIMENTAL_COREPACK=1然后Redeploy就行了.
vercel部署时遇到ERR_INVAILD_THIS的解决方法
License: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.