go 遇到墙报错 unrecognized import path "golang.org/x/crypto/ssh/terminal"

本文介绍了解决Go语言中因国内网络限制导致无法下载golang.org/x下第三方包的问题。通过使用GitHub源手动克隆的方式成功获取所需包。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.报错原因  报错信息

由于国内网络原因,因此访问https://golang.org/网站会被限制。所以在go get下载其他第三方包的时候,如果这个第三方包又引用了https://golang.org/x/下的包,通常会下载失败,就会报这个错误

package golang.org/x/crypto/ssh/terminal: unrecognized import path "golang.org/x/crypto/ssh/terminal" (https fetch: Get https://golang.org/x/crypto/ssh/terminal?go-get=1: dial tcp 216.239.37.1:443: getsockopt: connection refused)

package golang.org/x/sys/unix: unrecognized import path "golang.org/x/sys/unix" (https fetch: Get https://golang.org/x/sys/unix?go-get=1: dial tcp 216.239.37.1:443: getsockopt: connection refused)

解决方法通常是拨VPN到海外进行下载

cd $GOPATH/src
git clone https://github.com/MXi4oyu/golang.org.git
[root@mysql /home/src/golang.org/x]# git clone https://github.com/open-falcon/mymon.git
[root@mysql /home/src/golang.org/x/mymon]# go get ./...

这就ok了
<think>好的,用户遇到了一个报错:“unrecognized arguments --html=../report.html”。我之前已经介绍过类似的问题,当用户使用`--html`参数而缺少插件时会报这个错误。现在用户再次遇到同样的错误,但这次参数中的路径是`../report.html`,可能需要进一步分析。 首先,我需要确认用户是否安装了`pytest-html`插件。之前的回答中提到过这个插件是必需的,用户可能已经安装,但可能忘记或者安装不成功。也有可能用户没有正确安装插件,或者在虚拟环境中运行命令而没有激活环境。 其次,用户指定的路径是`../report.html`,这意味着报告将生成在上一级目录。需要检查用户是否有写入权限,或者目标目录是否存在。如果目录不存在,pytest可能无法创建文件,导致错误,但通常这种情况下错误提示可能不同,但也不能完全排除。 另外,用户可能误用了参数,比如拼写错误,但根据报错信息,参数是`--html=../report.html`,看起来是正确的。需要确认用户是否在命令行中正确使用了参数,是否在参数前多加了一个短横线或者有其他拼写错误。 还有一种可能性是用户使用的pytest版本过旧,不支持`--html`参数,但这种情况比较少见,因为`pytest-html`插件已经存在较长时间。不过可以建议用户检查pytest和插件的版本是否兼容。 接下来,我需要组织回答的结构,先说明错误原因,然后分步骤解决。可能需要包括检查插件安装、验证安装是否正确、处理路径问题以及参数顺序的注意事项。同时,用户可能是在特定环境下运行,比如虚拟环境,所以需要提醒他们确保在正确的环境中安装插件。 此外,用户可能对如何安装插件不熟悉,所以需要给出具体的安装命令,如`pip install pytest-html`,并建议在安装后重新运行命令。同时,提醒用户注意路径问题,比如上级目录是否存在,是否有权限写入。 最后,可能需要给出一个完整的示例命令,让用户可以直接复制粘贴,确保他们正确使用参数。同时,总结常见原因,帮助用户快速排查问题。</think>### **分步解决 "unrecognized arguments --html=../report.html" 错误** --- #### **1. 错误原因** 当执行类似以下命令时: ```bash pytest --html=../report.html ``` 出现错误提示: ``` pytest: error: unrecognized arguments: --html=../report.html ``` **根本原因**:`--html` 参数是 `pytest-html` 插件的功能,但当前环境中 **未安装该插件**,导致 pytest 无法识别此参数。 --- #### **2. 解决方案** ##### **步骤 1:安装 pytest-html 插件** 直接通过 pip 安装插件: ```bash pip install pytest-html ``` 若使用虚拟环境,需确保在 **激活虚拟环境** 后安装。 --- ##### **步骤 2:验证插件安装** 检查已安装的 pytest 插件列表: ```bash pytest --version ``` 输出中应包含 `pytest-html`,例如: ``` plugins: html-3.1.1, metadata-1.11.0 ``` 若无此插件,需重新安装或检查网络环境。 --- ##### **步骤 3:处理路径问题** `--html=../report.html` 表示将报告生成到 **上级目录**,需确保: 1. 目标目录(即当前目录的上一级)**存在**。 2. 当前用户有 **写入权限**。 若目录不存在,手动创建或改用相对路径: ```bash mkdir ../reports # 创建上级目录的 reports 文件夹 pytest --html=../reports/report.html ``` --- ##### **步骤 4:检查参数顺序** 确保参数顺序正确,以下写法均合法: ```bash pytest tests/ --html=../report.html -v pytest -v --html=../report.html tests/ ``` --- #### **3. 完整示例** 假设测试文件在 `tests` 目录,报告需生成到上级目录: ```bash # 安装插件 pip install pytest-html # 运行测试并生成报告 pytest tests/ -v --html=../report.html ``` 生成的报告路径:`../report.html`(相对于当前工作目录)。 --- #### **4. 常见问题排查** | 现象 | 原因 | 解决方案 | |------|------|----------| | 安装插件后仍报错 | 未在正确环境中安装 | 激活虚拟环境后重新安装 | | 报告生成失败 | 目标路径权限不足 | 检查目录权限或更换路径 | | 报告内容为空 | 测试未执行 | 检查 `pytest` 是否识别到测试文件 | --- ### **总结** - **核心问题**:缺少 `pytest-html` 插件。 - **关键操作**:通过 `pip install pytest-html` 安装插件。 - **路径问题**:确保目标目录存在且可写。 - **验证方式**:通过 `pytest --version` 检查插件是否加载。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值