执行make时出现/bin/sh: Unknown: command not found错误求助
问题分析与修复方案
核心问题排查
- 错误提示中的
[fmt]目标在你的Makefile里不存在,你定义的格式化目标是prty,默认目标是tester——要么是你误执行了make fmt,要么是命令/目标名对应错误。 - Makefile中
`npm bin`的写法存在语法冲突:Makefile会优先解析反引号作为自身的命令替换语法,而非交给shell执行,导致出现"Unknown command"错误。
修复方案
方案1:用npx简化调用(推荐)
直接用npx调用本地安装的prettier,无需手动解析npm bin路径,避免路径解析错误:
default: prty .PHONY: prty prty: npx prettier --write .
方案2:修正npm bin的Makefile语法
如果坚持使用npm bin,改用Makefile内置的$(shell)函数来获取路径:
default: prty .PHONY: prty prty: "$(shell npm bin)/prettier" --write .
额外注意事项
- 确保已在项目目录执行
npm install,完成prettier的本地安装。 - 执行正确的Make命令:若要运行格式化目标,需执行
make prty;当前默认目标tester未定义执行命令,直接跑make也会报错。
内容的提问来源于stack exchange,提问作者user17443811
相关产品推荐
相关产品推荐

