使用gatsby new创建项目报npm Unsupported URL Type "workspace:"错误如何解决
解决方案
报错根因
npm ERR! Unsupported URL Type "workspace:": workspace:* 报错是因为你使用的Gatsby starter模板的package.json中使用了workspace:*格式的依赖声明,该语法是包管理工具针对monorepo工作区的专用语法,仅npm >=7.0、pnpm、yarn 2+版本支持,触发报错通常为以下两种原因:
- 你本地安装的npm版本低于7.0,不支持该语法
- 该模板本身是monorepo仓库中的子包,单独拉取使用时缺少对应的工作区配置,导致依赖解析失败
修复步骤
你可以任选以下任意一种方案修复:
方案1:跳过自动安装,使用支持workspace的包管理器手动安装
- 执行带跳过安装参数的命令拉取模板:
gatsby new YourProjectName2 https://github.com/Vagr9K/gatsby-advanced-starter --skip-install
- 进入生成的项目目录:
cd YourProjectName2
- 任选以下一种命令安装依赖即可:
- 升级npm到7.0以上版本后执行
npm install - 已安装pnpm的情况下执行
pnpm install - 已安装yarn的情况下执行
yarn install
- 升级npm到7.0以上版本后执行
方案2:手动替换workspace依赖声明后安装
如果你不想升级npm或切换包管理器,可以手动修改依赖配置:
- 同样先执行上述带
--skip-install参数的创建命令,进入项目目录 - 打开根目录的
package.json文件,找到所有依赖项中值为workspace:*的条目 - 将这些条目的值替换为对应包的最新正式版本号
- 修改完成后执行
npm install即可完成依赖安装
内容的提问来源于stack exchange,提问作者pcatre
相关产品推荐
相关产品推荐

