本地安装@svgr/cli后执行npm run generate报错求助
问题排查与解决
错误原因
@svgr/cli的可执行命令名称是svgr,而非包名@svgr/cli。你在npm脚本中直接使用@svgr/cli作为命令时,npm无法找到对应的可执行文件,因此抛出/cli does not exist错误。
解决方案
方案1:使用正确的命令名称修改脚本
将generate脚本中的@svgr/cli替换为svgr:
"scripts": { "build": "tsc -b && vite build", "lint": "eslint .", "generate": "svgr --out-dir ./src/components --typescript -- ./src/assets" }
npm会自动在node_modules/.bin目录中查找svgr命令(该文件由@svgr/cli安装时生成),无需额外配置。
方案2:通过npx显式调用(兼容所有场景)
如果方案1无效,可使用npx强制调用本地安装的@svgr/cli:
"scripts": { "generate": "npx @svgr/cli --out-dir ./src/components --typescript -- ./src/assets" }
npx会自动定位本地node_modules中的包,避免路径解析问题。
方案3:修复依赖安装问题
若以上方案均无效,先删除现有依赖文件并重新安装:
rm -rf node_modules package-lock.json npm install
确保@svgr/cli的可执行文件正确生成在node_modules/.bin目录下。
验证
修改完成后执行npm run generate即可正常生成组件。
内容的提问来源于stack exchange,提问作者Lin Du
相关产品推荐
相关产品推荐

