多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

scanoss-py: error: argument subparser: invalid choice: ‘http://x.x.x.x:8083‘

scanoss-py: error: argument subparser: invalid choice: ‘http://x.x.x.x:8083‘ 目录报错根源与最终正确命令一、报错核心原因二、官方标准正确格式直接复制运行对接私有内网服务完整命令带 API 密钥场景私有服务开启鉴权命令顺序拆解顺序绝对不能乱三、两种替代方案规避参数调试方案 1离线本地扫描无需配置 API 地址无网络 / 内网不通优先用方案 2环境变量配置 API 地址不用每次命令写长 URL四、快速验证帮助命令确认参数归属报错根源与最终正确命令一、报错核心原因报错argument subparser: invalid choice: http://x.x.x.x:8083本质是参数归属搞错 在scanoss-py 1.54.2版本中--apiurl属于scan子命令的局部参数不是全局参数必须写在scan子命令后面不能写在前面PyPI。你之前两种错误写法scanoss-py --apiurl xxx scan .程序先读取全局参数读完后把scan识别为子命令语法不兼容scanoss-py scan . --apiurl xxx程序把.当成待扫描目录后把后面的http://xxx误识别成下一个子命令所以报网址不是合法子命令。二、官方标准正确格式直接复制运行对接私有内网服务完整命令scanoss-py scan --apiurl http://172.168.4.206:8083 . -o report.html带 API 密钥场景私有服务开启鉴权scanoss-py scan --apiurl http://172.168.4.206:8083 --key 你的密钥 . -o report.html命令顺序拆解顺序绝对不能乱scanoss-py程序入口scan固定扫描子命令必须紧跟程序名--apiurl http://172.168.4.206:8083scan 子命令专属参数写在scan之后、目录.之前.待扫描项目根目录-o report.html输出 HTML 报告参数三、两种替代方案规避参数调试方案 1离线本地扫描无需配置 API 地址无网络 / 内网不通优先用# 首次拉取离线引擎 scanoss-py engine pull # 离线扫描生成报告 scanoss-py scan . --offline -o report.html方案 2环境变量配置 API 地址不用每次命令写长 URLWindows CMD 设置临时环境变量当前窗口生效set SCANOSS_API_URLhttp://172.168.4.206:8083 # 直接扫描无需带--apiurl参数 scanoss-py scan . -o report.html四、快速验证帮助命令确认参数归属查看全局顶层参数无--apiurlscanoss-py -h查看 scan 子命令专属参数包含--apiurlscanoss-py scan -h
返回列表