pre-commit run --all-files 報錯:http.client.RemoteDisconnected

報錯完整信息

在這里插入圖片描述

初步原因是這樣

報錯是 Python 的 http.client.RemoteDisconnected,意思是 在用 urllib 請求遠程 URL 時,遠程服務器直接斷開了連接,沒有返回任何響應。在你的堆棧里,它出現在 pre-commit 嘗試安裝 Golang 環境的時候,也就是這一行:

resp = urllib.request.urlopen(_get_url(version))

也就是說 pre-commit 想下載 Go 的某個版本,但連接遠程服務器失敗了

詳細原因如下

本人電腦的環境是ubantu22.04,代理軟件是v2ray。

由于v2ray的代理協議是socks5,而urllib 請求遠程 URL走的是http協議,不支持socks5協議。

解決辦法如下

使用privoxy工具,它的作用是將http協議的消息轉為socks5協議的消息

具體工作流如下

  • 應用程序 → HTTP請求 → Privoxy (8123端口)

  • Privoxy → 轉換協議 → SOCKS5請求 → V2Ray (1080端口)

  • V2Ray → 處理請求 → 目標網站

  • 目標網站 → 響應 → V2Ray → Privoxy → 應用程序

具體操作如下

第一步:編輯配置文件:

sudo nano /etc/privoxy/config

在配置文件中,找到或添加以下兩行,確保它們沒有被注釋掉(行首沒有 #):

listen-address 127.0.0.1:8123
forward-socks5t / 127.0.0.1:1080 .

將你的V2Ray_SOCKS5端口替換為你V2Ray配置中inbounds協議為socks的端口號(例如 1080)。注意:forward-socks5t 行末尾有一個點號.和空格,不要遺漏。

第二步:啟動Privoxy服務并設置開機自啟:

sudo systemctl start privoxy
sudo systemctl enable privoxy
sudo systemctl status privoxy # 檢查狀態,確保其為active (running)

第三步:設置環境變量,使用Privoxy的HTTP代理

export http_proxy="http://127.0.0.1:8123"
export https_proxy="http://127.0.0.1:8123"

為了長期使用,可添加到~/.bashrc文件的末尾

第四步:為防止DNS污染,也就是本地DNS解析不了國外的網站的ip。可在/etc/hosts文件中注明網站的ip
以golang官網為例

173.194.75.141 golang.org
216.58.200.238 golang.org

大功告成(如果還是出現上述報錯,就再運行一次pre-commit run --all-files,這可能是網絡代理的網絡穩定性有關系)
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/96526.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/96526.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/96526.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【C++】STL·List

1. list的介紹及使用 1.1list介紹 List文檔介紹 1.2 list的使用 list中的接口比較多,此處類似,只需要掌握如何正確的使用,然后再去深入研究背后的原理,已 達到可擴展的能力。以下為list中一些常見的重要接口。 1.2.1 list的構造…

圖論2 圖的數據結構表示

目錄 一 圖的數據結構表示 1 鄰接矩陣(Adjacency Matrix) 2 鄰接表(Adjacency List) 3 邊列表(Edge List) 4 十字鏈表(Orthogonal List / Cross-linked List, 十字鏈表) 5 鄰接…

在Excel中刪除大量間隔空白行

在 Excel 中刪除大量間隔空白行,可使用定位空值功能來快速實現。以下是具體方法:首先,選中包含空白行的數據區域。可以通過點擊數據區域的左上角單元格,然后按住鼠標左鍵拖動到右下角最后一個單元格來實現。接著,按下快…

【C 學習】10-循環結構

“知道做不到就是不知道”一、條件循環1. while只要條件為真&#xff08;true&#xff09;&#xff0c;就會重復執行循環體內的代碼。while (條件) {// 循環體&#xff08;要重復執行的代碼&#xff09; }//示例 int i 1; while (i < 5) {printf("%d\n", i);i; …

音視頻的下一站:協議編排、低時延工程與國標移動化接入的系統實踐

一、引言&#xff1a;音視頻的基礎設施化 過去十年&#xff0c;音視頻的兩條主線清晰可辨&#xff1a; 娛樂驅動&#xff1a;直播、電商、短視頻把“實時觀看與互動”變成高頻日常。 行業擴展&#xff1a;教育、會議、安防、政務逐步把“可用、可管、可控”引入產業系統。 …

SAM-Med3D:面向三維醫療體數據的通用分割模型(文獻精讀)

1) 深入剖析:核心方法與圖示(Figure)逐一對應 1.1 單點三維提示的任務設定(Figure 1) 論文首先將3D交互式分割的提示形式從“2D逐片(每片1點,共N點)”切換為“體素級單點(1個3D點)”。Figure 1直觀對比了 SAM(2D)/SAM-Med2D 與 SAM-Med3D(1點/體) 的差異:前兩者…

【Spring】原理解析:Spring Boot 自動配置進階探索與優化策略

一、引言在上一篇文章中&#xff0c;我們對 Spring Boot 自動配置的基本原理和核心機制進行了詳細的分析。本文將進一步深入探索 Spring Boot 自動配置的高級特性&#xff0c;包括如何進行自定義擴展、優化自動配置的性能&#xff0c;以及在實際項目中的應用優化策略。同時&…

OpenCV:圖像直方圖

目錄 一、什么是圖像直方圖&#xff1f; 關鍵概念&#xff1a;BINS&#xff08;區間&#xff09; 二、直方圖的核心作用 三、OpenCV 計算直方圖&#xff1a;calcHist 函數詳解 1. 函數語法與參數解析 2. 基礎實戰&#xff1a;計算灰度圖直方圖 代碼實現 結果分析 3. 進…

docke筆記下篇

本地鏡像發布到阿里云 本地鏡像發布到阿里云流程 鏡像的生成方法 基于當前容器創建一個新的鏡像&#xff0c;新功能增強 docker commit [OPTIONS] 容器ID [REPOSITORY[:TAG]] OPTIONS說明&#xff1a; OPTIONS說明&#xff1a; -a :提交的鏡像作者&#xff1b; -m :提交時的說…

《大數據之路1》筆記2:數據模型

一 數據建模綜述 1.1 為什么要數據建模背景&#xff1a; 隨著DT時代的來臨&#xff0c;數據爆發式增長&#xff0c;如何對數據有序&#xff0c;有結構地分類組織額存儲是關鍵定義&#xff1a; 數據模型時數據組織和存儲的方法&#xff0c;強調從業務、數據存取、使用角度 合理存…

“量子能量泵”:一種基于并聯電池與電容陣的動態直接升壓架構

“量子能量泵”&#xff1a;一種基于并聯電池與電容陣的動態直接升壓架構摘要&#xff1a;本文揭示了一種革命性的高效電源解決方案&#xff0c;旨在徹底解決低電壓、大功率應用中的升壓效率瓶頸與電池一致性難題。該方案摒棄傳統磁性升壓拓撲&#xff0c;創新性地采用并聯電池…

DeepSeek實戰--自定義工具

1. 背景 當前已經有很多AI基礎平臺&#xff08;比如&#xff1a;扣子、Dify&#xff09;&#xff0c;用戶可以快速搭建Agent&#xff0c;那怎樣將已有的接口能力給大模型調用呢 &#xff1f; 今天我們來探索一個&#xff0c;非常高效、快捷的方案&#xff1a;將http接口做成Dif…

“移動零”思路與題解

給定一個數組 nums&#xff0c;編寫一個函數將所有 0 移動到數組的末尾&#xff0c;同時保持非零元素的相對順序。請注意 &#xff0c;必須在不復制數組的情況下原地對數組進行操作。思路講解&#xff1a;舉例如下&#xff1a;實現代碼是&#xff1a;class Solution { public:v…

關于行內元素,行內塊元素和塊級元素

1、什么是行內元素&#xff0c;什么是行內塊元素&#xff0c;什么是塊級元素行內元素的特點&#xff1a;不獨占一行&#xff0c;相鄰元素會在同一行顯示&#xff0c;直到一行排不下才換行。寬度和高度由內容本身決定&#xff0c;無法通過width&#xff0c;height手動設置&#…

?絡請求Axios的概念和作用

Axios 是一個基于 ??Promise?? 的輕量級、高性能 ??HTTP 客戶端庫??&#xff0c;主要用于在瀏覽器和 Node.js 環境中發起 HTTP 請求&#xff08;如 GET、POST、PUT、DELETE 等&#xff09;。它通過簡潔的 API 和強大的功能&#xff0c;簡化了前端與后端之間的數據交互過…

在AgentScope中實現結構化輸出

在AgentScope中實現結構化輸出 概述 在AgentScope框架中&#xff0c;結構化輸出功能允許開發者定義明確的輸出模式&#xff0c;確保AI模型的響應符合預期的格式和約束。本教程將介紹如何使用AgentScope的structured_model參數來實現結構化輸出。 結構化輸出的優勢 數據一致性&a…

Linux 磁盤I/O高占用進程排查指南:從定位到分析的完整流程

在Linux服務器運維工作中&#xff0c;磁盤I/O瓶頸是導致系統性能下降的常見原因之一。當服務器出現響應緩慢、應用卡頓等問題時&#xff0c;及時定位并解決高I/O占用進程就顯得尤為重要。本文將從核心思路出發&#xff0c;通過“確認問題-定位磁盤-鎖定進程-深入分析”四個步驟…

解決React中通過外部引入的css/scss/less文件更改antDesign中Modal組件內部的樣式不生效問題

不生效原因Ant Design 的 Modal 默認通過 ReactDOM.createPortal 掛在 <body> 下&#xff0c;與你的組件樹平級&#xff0c;所以寫在 .module.css / scoped less 里的選擇器根本匹配不到它&#xff0c;就算寫全局樣式&#xff0c;也可能因為權重不足或異步掛載時機而“看…

day41 51單片機最小系統、GPIO控制、時序邏輯器件(74HC138/595)與LED點陣驅動原理

day41 51單片機最小系統、GPIO控制、時序邏輯器件&#xff08;74HC138/595&#xff09;與LED點陣驅動原理一、嵌入式系統基礎概念 1.1 嵌入式系統定義先設計硬件&#xff0c;基于硬件設計軟件實現一個具體的功能 —— 專用的計算機系統硬件/軟件可剪裁&#xff1a;根據功能需求…

html列表總結補充

1.有序列表的type屬性不同的type值表示不同的排序標號1 表示列表項目用數字標號&#xff08;1,2,3...&#xff09; 1 a 表示列表項目用小寫字母標號&#xff08;a,b,c...&#xff09; 2 A 表示列表項目用大寫字母標號&#xff08;A,B,C...&#xff09; 3 i 表示列表項目用小寫羅…