执行npm init svelte@next报failed with code 1错误升级Node.js仍无效如何解决
问题解决方案
这个报错的核心原因有两个:一是Windows系统用户名包含空格(Ermais Kidane中间的空格),npx解析缓存路径时会截断路径导致找不到对应文件;二是升级Node后旧终端的环境变量未同步、npm残留旧缓存,导致版本识别异常。你可以按照以下步骤逐一排查解决:
步骤1:确认Node版本生效
不要使用升级Node之前就打开的旧终端,新开一个终端窗口执行命令:node -v
如果输出结果为v16.x.x说明版本生效,若仍显示v14.15.0,重启电脑刷新系统环境变量即可。
步骤2:清理npm旧缓存
执行命令清理残留的缓存文件,避免旧缓存干扰:npm cache clean --force
步骤3:规避用户名空格问题
任选以下一种方案即可:
- 方案一:修改npm缓存路径到无空格的目录
先在C盘根目录新建名为npm_cache的文件夹,再依次执行以下命令:
注意目前SvelteKit已经正式发布,不需要再用npm config set cache C:\npm_cache npm init svelte@latest my-app@next标签,使用@latest拉取正式版稳定性更高。 - 方案二:使用其他包管理器初始化
pnpm、yarn对带空格的路径兼容性更好,安装对应工具后直接执行对应初始化命令即可:
pnpm命令:pnpm create svelte@latest my-app
yarn命令:yarn create svelte my-app
步骤4:完成项目初始化
按照终端提示选择项目模板、配置项即可完成创建,之后进入项目目录执行npm install安装依赖,再执行npm run dev就能启动开发环境。
内容的提问来源于stack exchange,提问作者Ermias Kidanegebre
相关产品推荐
相关产品推荐

