如何用npx运行本地tslint?执行命令无效果求解决方案
解决Windows下npx tslint命令无效果的问题
结合你的环境和遇到的问题,我整理了几个关键的排查和解决方向:
1. 修正配置文件参数的错误
你当前命令里用了 -c tsconfig.json,但tslint的配置文件默认是tslint.json,而tsconfig.json是TypeScript的编译配置文件。tslint无法识别tsconfig作为它的配置,这会直接导致命令无法正常工作。
你需要:
- 如果还没有tslint配置文件,先在项目根目录执行初始化命令生成:
npx tslint --init - 然后把命令里的配置文件参数改成正确的:
npx tslint -c tslint.json "src/**/*.ts" "src/**/*.tsx"
2. 适配Windows的命令行语法
Windows的CMD/PowerShell不支持bash风格的单引号和扩展通配符?(x),这也是命令被原样输出、没有实际执行检查的核心原因:
- 把包裹路径的单引号
'换成双引号",Windows命令行只识别双引号作为参数的包裹符号; - 替换
?(x)这种bash专属通配符,直接分开指定.ts和.tsx文件,或者用更兼容的src/**/*.ts*(注意如果有.ts后缀的非源码文件可能会被匹配到,比如.tsbuildinfo,这种情况下分开写更安全)。
修正后的命令示例:
npx tslint -c tslint.json "src/**/*.ts" "src/**/*.tsx"
3. 直接调用本地安装的tslint
旧版本的npx(你的npx是9.7.1,搭配Node 8.9.1)可能存在兼容性问题,你可以跳过npx,直接调用项目本地的tslint可执行文件:
- 在CMD里执行:
.\node_modules\.bin\tslint.cmd -c tslint.json "src/**/*.ts" "src/**/*.tsx" - 在PowerShell里执行:
.\node_modules\.bin\tslint -c tslint.json "src/**/*.ts" "src/**/*.tsx"
4. 验证文件路径和存在性
最后确认一下基础问题:
- 项目根目录下确实存在
src文件夹,并且里面有.ts或.tsx文件; - 路径没有拼写错误(Windows虽然不区分大小写,但尽量保持一致避免意外)。
如果以上步骤都试过还是有问题,可以尝试更新tslint到5.x的最新版本(你的5.7.0比较旧),或者检查本地node_modules里是否正确安装了tslint和typescript依赖。
内容的提问来源于stack exchange,提问作者Sergino
相关产品推荐
相关产品推荐

