Ngiêm cấm sử đụng PROXY và VPS vào mục đích trái pháp luật bạn sẽ phải chịu toàn bộ trách nhiệm trước pháp luật khi sử dụng dịch vụ của chúng tôi tks!
Homebrew proxy: Cài proxy cho brew trên macOS

Homebrew proxy: Cài proxy cho brew trên macOS

Chuyên viên Kỹ thuật ProxyVN 08-13-2026 Đang tính... phút đọc

Homebrew proxy là cách cho trình quản lý gói brew trên macOS (và Linux) tải phần mềm qua một máy chủ proxy. Lập trình viên làm việc trong mạng công ty có proxy, mạng trường học, hoặc mạng kết nối chậm tới máy chủ gói ở nước ngoài hay gặp brew install treo, brew update báo lỗi kết nối, tải tệp đứt giữa chừng. Homebrew không có lệnh cài proxy riêng, mà dùng curl để tải gói và git cho một số kho, nên đặt proxy đúng nghĩa là đặt cho curl và git qua biến môi trường. Bài này ProxyVN hướng dẫn đặt biến proxy trong ~/.zshrc, dùng proxy HTTP và SOCKS5, cấu hình riêng cho git, các biến HOMEBREW liên quan, và gỡ lỗi từng tình huống. Xem thêm dịch vụ tại ProxyVN.

Tổng quan về Homebrew và proxy

Homebrew là gì

Homebrew là trình quản lý gói phổ biến nhất trên macOS, cũng chạy trên Linux. Lệnh brew install cài phần mềm dòng lệnh như wget, node, python, và ứng dụng giao diện qua brew install --cask. Tài liệu chính thức có tại trang tài liệu Homebrew.

brew tải dữ liệu bằng gì

brew dùng curl và git để tải

brew dùng curl và git để tải

Bảng: brew tải dữ liệu bằng gì

Việc

Công cụ brew dùng

Đi tới đâu

Tải danh sách gói (từ Homebrew 4)

curl

Máy chủ API formulae.brew.sh

Tải gói đã biên dịch sẵn (bottle)

curl

Kho gói của Homebrew trên GitHub Packages

Tải mã nguồn khi phải biên dịch

curl hoặc git

Trang của từng dự án

Cập nhật kho bổ sung (tap)

git

GitHub hoặc nơi khác

Cập nhật chính Homebrew

git

Kho mã Homebrew

Tải ứng dụng cask

curl

Trang của nhà phát triển ứng dụng

Vì brew gọi curl và git, cả hai đều đọc biến môi trường proxy, nên đặt biến proxy đúng là brew đi qua proxy.

Khi nào cần proxy cho brew

  • Mạng công ty bắt buộc đi qua proxy để ra Internet.
  • Kết nối tới máy chủ gói ở nước ngoài chậm, hay đứt.
  • Máy chủ CI chạy trong mạng kín, chỉ ra ngoài qua proxy.
  • Cần kiểm soát hoặc ghi nhật ký lưu lượng tải phần mềm.

Đặt proxy cho brew bằng biến môi trường

Đặt tạm thời trong một phiên Terminal

export http_proxy=http://203.0.113.10:8080
export https_proxy=http://203.0.113.10:8080
export all_proxy=http://203.0.113.10:8080
brew install wget

Biến chỉ có tác dụng trong cửa sổ Terminal hiện tại. Đóng cửa sổ là mất.

Proxy có tên đăng nhập, mật khẩu

export https_proxy=http://user01:matkhau01@203.0.113.10:8080

Mật khẩu có ký tự đặc biệt như @, :, # phải mã hoá theo kiểu URL, ví dụ @ thành %40. Không mã hoá thì curl hiểu sai phần nào là máy chủ.

Chữ hoa hay chữ thường

curl đọc http_proxy chữ thường cho trang HTTP (vì lý do bảo mật, không đọc HTTP_PROXY chữ hoa), còn https_proxy và all_proxy thì nhận cả hai kiểu. Để chắc ăn, đặt chữ thường cho cả ba. Mô tả biến môi trường có trong trang hướng dẫn curl, mục ENVIRONMENT.

Đặt cố định trong ~/.zshrc

Đặt biến proxy trong tệp cấu hình shell

Đặt biến proxy trong tệp cấu hình shell

macOS dùng zsh làm shell mặc định. Thêm vào cuối tệp ~/.zshrc:

# Proxy cho brew, git, curl
export http_proxy=http://203.0.113.10:8080
export https_proxy=$http_proxy
export all_proxy=$http_proxy
export no_proxy=localhost,127.0.0.1,.local

Lưu tệp, chạy source ~/.zshrc hoặc mở cửa sổ Terminal mới. Với bash, dùng tệp ~/.bash_profile. Biến no_proxy liệt kê địa chỉ không đi qua proxy, ý nghĩa chi tiết có trong bài no_proxy trên blog.

Bật tắt nhanh bằng hàm

Thêm hai hàm vào ~/.zshrc để bật tắt khi cần:

proxy_on() {
  export http_proxy=http://203.0.113.10:8080
  export https_proxy=$http_proxy all_proxy=$http_proxy
  echo "Da bat proxy"
}
proxy_off() {
  unset http_proxy https_proxy all_proxy
  echo "Da tat proxy"
}

Gõ proxy_on trước khi chạy brew, proxy_off khi không cần. Tiện cho máy xách tay mang qua lại giữa văn phòng có proxy và nhà không có.

Biến môi trường riêng của Homebrew

Homebrew có một số biến môi trường ảnh hưởng tới việc tải, liệt kê trong trang hướng dẫn lệnh brew.

Bảng: Biến môi trường riêng của Homebrew

Biến

Tác dụng

HOMEBREW_CURLRC

Cho curl đọc tệp ~/.curlrc, nơi có thể đặt proxy

HOMEBREW_NO_AUTO_UPDATE

Không tự chạy brew update trước mỗi lần cài

HOMEBREW_CURL_RETRIES

Số lần thử lại khi tải lỗi

HOMEBREW_API_DOMAIN

Đổi địa chỉ máy chủ API danh sách gói

HOMEBREW_BOTTLE_DOMAIN

Đổi địa chỉ máy chủ gói đã biên dịch

HOMEBREW_ARTIFACT_DOMAIN

Đổi địa chỉ tải mọi tệp qua một máy chủ trung gian

Dùng ~/.curlrc thay cho biến

Tạo tệp ~/.curlrc:

proxy = "http://203.0.113.10:8080"

Rồi đặt export HOMEBREW_CURLRC=1. Homebrew mặc định bỏ qua ~/.curlrc để tránh cấu hình lạ làm hỏng việc tải, nên biến này bắt buộc nếu muốn dùng cách này. Cách đặt biến môi trường vẫn đơn giản hơn.

Tắt tự cập nhật khi mạng chậm

brew install mặc định chạy brew update trước. Qua proxy chậm, bước này mất thời gian. Đặt:

export HOMEBREW_NO_AUTO_UPDATE=1

Nhớ chạy brew update thủ công định kỳ để có phiên bản gói mới.

Thử lại khi tải lỗi

Proxy chập chờn làm tải đứt giữa chừng. Đặt HOMEBREW_CURL_RETRIES=3 để curl tự thử lại.

Cấu hình proxy cho git khi brew update chậm

Vì sao brew update vẫn chậm

Từ Homebrew 4.0, danh sách gói chính tải qua API, brew update nhanh hơn nhiều. Nhưng chính Homebrew và các tap bổ sung vẫn cập nhật bằng git. git đọc biến https_proxy, nhưng nếu đã đặt proxy riêng trong cấu hình git, cấu hình git sẽ được ưu tiên.

Đặt proxy cho git

git config --global http.proxy http://203.0.113.10:8080
git config --global https.proxy http://203.0.113.10:8080

Kiểm tra:

git config --global --get http.proxy

Gỡ khi không dùng:

git config --global --unset http.proxy
git config --global --unset https.proxy

Cách cấu hình git chi tiết, kể cả chỉ đặt proxy cho một tên miền, có trong bài git proxy.

Tap dùng giao thức SSH

Tap thêm bằng địa chỉ git@github.com dùng SSH, không đọc biến proxy HTTP. Muốn đi qua proxy, cấu hình ProxyCommand trong ~/.ssh/config, hoặc đổi tap sang địa chỉ HTTPS.

Dùng proxy SOCKS5 cho brew

Proxy SOCKS5 qua cổng cục bộ

Proxy SOCKS5 qua cổng cục bộ

Đặt all_proxy với socks5h

export all_proxy=socks5h://127.0.0.1:1080

Lược đồ socks5h cho curl gửi tên miền tới proxy để proxy phân giải, tránh lộ truy vấn DNS và tránh lỗi khi mạng nội bộ không phân giải được tên miền ngoài. Dùng socks5 (không có h) thì máy tự phân giải.

git với SOCKS5

git config --global http.proxy socks5h://127.0.0.1:1080

git dùng libcurl nên hiểu lược đồ socks5h.

SOCKS5 có mật khẩu

export all_proxy=socks5h://user01:matkhau01@203.0.113.10:1080

curl hỗ trợ xác thực SOCKS5. Khác với trình duyệt Chrome, đây không phải vấn đề với brew.

Proxy cục bộ từ phần mềm khác

Nếu máy đang chạy phần mềm proxy cục bộ mở cổng SOCKS5 hoặc HTTP tại 127.0.0.1, trỏ biến môi trường vào cổng đó. Kiểm tra phần mềm cho phép kết nối từ Terminal, không chỉ từ trình duyệt.

Proxy hệ thống macOS không áp dụng cho brew

Vì sao

Đặt proxy trong System Settings, Network chỉ áp dụng cho ứng dụng đọc cấu hình hệ thống như Safari, nhiều ứng dụng giao diện. curl và git trong Terminal không đọc proxy hệ thống, chỉ đọc biến môi trường và tệp cấu hình riêng. Đây là lý do cài proxy trong macOS rồi mà brew vẫn đi thẳng. Cách cài proxy hệ thống có trong bài cài proxy trên macOS.

Lấy proxy hệ thống đưa vào biến

Có thể đọc proxy hệ thống bằng lệnh scutil --proxy rồi viết đoạn mã đặt biến môi trường theo đó. Với tệp PAC, cách này phức tạp hơn, nên đặt biến thủ công cho rõ ràng.

Ép brew qua proxy bằng proxychains

Nếu không muốn đặt biến môi trường, dùng proxychains-ng để ép một lệnh đi qua proxy:

proxychains4 brew install wget

proxychains đọc cấu hình trong tệp proxychains.conf, chặn kết nối mạng của lệnh và chuyển qua proxy. Trên macOS mới, cơ chế bảo vệ hệ thống có thể chặn proxychains với một số chương trình hệ thống. Biến môi trường vẫn là cách ổn định nhất với brew. Cách dùng proxychains có trong bài proxychains.

Gỡ lỗi Homebrew khi dùng proxy

Xem brew đang tải gì

brew install --verbose --debug wget

Tham số --verbose hiện lệnh curl brew chạy, địa chỉ tải. Nhìn vào đó biết brew đang tải từ đâu, có đi qua proxy không.

Thử curl trực tiếp

curl -I https://formulae.brew.sh/api/formula.jws.json
curl -I -x http://203.0.113.10:8080 https://ghcr.io/v2/

Lệnh đầu dùng biến môi trường. Lệnh sau chỉ định proxy trực tiếp. Lệnh nào thành công cho biết proxy và đường đi có ổn không. Cách dùng curl với proxy có trong bài curl proxy là gì.

brew doctor

brew doctor

Lệnh kiểm tra cài đặt Homebrew, báo các vấn đề phổ biến. Không kiểm tra proxy trực tiếp, nhưng loại trừ được các lỗi không liên quan tới mạng.

Bảng lỗi thường gặp

Bảng: Bảng lỗi thường gặp

Thông báo

Nguyên nhân hay gặp

Cách xử lý

curl: (7) Failed to connect

Proxy sai địa chỉ, cổng, proxy chết

Kiểm tra lại proxy bằng curl

curl: (56) CONNECT tunnel failed, response 407

Proxy cần xác thực

Thêm user:pass vào địa chỉ proxy

curl: (35) SSL connect error

Proxy chặn hoặc can thiệp TLS

Kiểm tra chính sách proxy công ty

SSL certificate problem

Proxy công ty giải mã HTTPS bằng chứng chỉ riêng

Thêm chứng chỉ công ty vào hệ thống

fatal: unable to access ... git

git chưa có proxy hoặc proxy git sai

Đặt http.proxy cho git

brew update treo lâu

Mạng chậm, tap nhiều

HOMEBREW_NO_AUTO_UPDATE, đặt proxy cho git

Error: Download failed

Đứt giữa chừng

HOMEBREW_CURL_RETRIES, đổi proxy ổn định

Proxy công ty giải mã HTTPS

Nhiều công ty dùng proxy kiểm tra nội dung HTTPS bằng chứng chỉ riêng. curl không tin chứng chỉ này nên báo lỗi chứng chỉ. Cách đúng là thêm chứng chỉ gốc của công ty vào Keychain hệ thống và cho curl dùng, theo hướng dẫn của bộ phận IT. Không tắt kiểm tra chứng chỉ bằng tham số bỏ qua bảo mật.

Cách Homebrew tải một gói từ đầu tới cuối

Hiểu đường đi của một lệnh brew install giúp biết proxy tác động ở bước nào và lỗi ở bước nào.

Bước 1: cập nhật danh sách gói

Nếu chưa tắt tự cập nhật, brew kiểm tra danh sách gói mới. Từ Homebrew 4, danh sách gói chính tải dưới dạng tệp JSON qua curl từ máy chủ API, nhẹ và nhanh. Bước này đi qua proxy nếu biến https_proxy đã đặt. Lỗi ở bước này thường hiện ngay khi gõ lệnh, trước khi thấy tên gói.

Bước 2: xác định phụ thuộc

brew đọc công thức của gói, liệt kê các gói phụ thuộc cần cài kèm. Bước này chạy trên máy, không cần mạng. Một gói như ffmpeg có thể kéo theo vài chục gói phụ thuộc, nghĩa là vài chục lần tải qua proxy.

Bước 3: tải gói đã biên dịch sẵn

Với phần lớn gói trên các phiên bản macOS phổ biến, brew tải bản đã biên dịch sẵn (bottle) thay vì biên dịch từ mã nguồn. Tệp lưu trên kho gói đặt tại GitHub Packages. Đây là bước tốn băng thông nhất, proxy chậm sẽ thấy rõ ở đây.

Bước 4: biên dịch nếu không có bản sẵn

Khi không có bản đã biên dịch cho phiên bản macOS hoặc chip đang dùng, brew tải mã nguồn từ trang của dự án rồi biên dịch trên máy. Mã nguồn có thể nằm ở bất kỳ máy chủ nào trên Internet, kể cả máy chủ chặn dải IP của proxy. Lỗi tải mã nguồn trong khi tải bản sẵn bình thường thường do máy chủ của dự án, không phải do proxy.

Bước 5: giải nén và liên kết

Bước cuối chạy trên máy, không cần mạng. Lỗi ở bước này là lỗi quyền thư mục, không liên quan tới proxy.

Mirror gói thay cho proxy

Mirror là gì

Mirror là máy chủ sao chép kho gói của Homebrew, đặt gần người dùng hơn. Một số trường đại học, tổ chức ở châu Á vận hành mirror cho Homebrew. Dùng mirror có thể nhanh hơn đi qua proxy ra máy chủ gốc ở xa.

Cách dùng

Đặt các biến HOMEBREW_API_DOMAIN, HOMEBREW_BOTTLE_DOMAIN trỏ về địa chỉ mirror theo hướng dẫn của đơn vị vận hành mirror. Câu hỏi thường gặp về việc đổi nguồn tải có trong trang FAQ của Homebrew.

Lưu ý an toàn

Chỉ dùng mirror của tổ chức đáng tin cậy. Homebrew kiểm tra mã băm của gói tải về, nhưng mirror không đáng tin vẫn có thể gây rắc rối như cung cấp phiên bản cũ. Với máy công ty, hỏi IT trước khi đổi nguồn tải.

Mirror và proxy cùng lúc

Có thể vừa dùng mirror vừa đi qua proxy: biến proxy vẫn áp dụng cho curl tải từ mirror. Trong mạng công ty bắt buộc proxy, đây là cách thường gặp.

Những sai lầm hay gặp khi đặt proxy cho brew

Đặt proxy ở tệp cấu hình sai shell

macOS mới dùng zsh. Nhiều hướng dẫn cũ ghi thêm biến vào ~/.bash_profile, mà Terminal chạy zsh nên không đọc tệp đó. Kiểm tra shell đang dùng bằng lệnh echo $SHELL.

Quên mở Terminal mới

Sửa ~/.zshrc xong mà không chạy source hoặc mở cửa sổ mới, biến chưa có hiệu lực. Kiểm tra bằng lệnh env | grep -i proxy.

Để mật khẩu proxy trong tệp chia sẻ

Tệp ~/.zshrc đôi khi được đưa lên kho mã cá nhân để đồng bộ cấu hình giữa các máy. Mật khẩu proxy trong đó bị lộ. Tách phần proxy ra tệp riêng không đưa lên kho, rồi nạp tệp đó trong ~/.zshrc.

Proxy chỉ cho trang HTTP

Đặt mỗi http_proxy mà quên https_proxy. Gần như mọi tệp brew tải đều qua HTTPS, nên brew vẫn đi thẳng. Đặt cả ba biến cho chắc.

Dùng proxy miễn phí để tải phần mềm

Phần mềm tải về sẽ chạy trên máy với quyền của mình. Proxy không rõ nguồn gốc là rủi ro không đáng có, dù HTTPS và kiểm tra mã băm giảm được phần lớn nguy cơ bị sửa nội dung. Proxy miễn phí cũng thường chậm và chập chờn, làm tải đứt liên tục.

Đo tốc độ tải qua proxy

So sánh trước và sau

Chọn một gói có kích thước vừa phải, tải hai lần: một lần đi thẳng, một lần qua proxy. Dùng brew fetch để chỉ tải mà không cài:

brew fetch --force node

Ghi lại thời gian mỗi lần. Proxy làm chậm hơn nhiều thì xem lại vị trí, băng thông của proxy.

Chọn proxy gần máy chủ gói

Gói của Homebrew lưu trên hạ tầng của GitHub, có máy chủ ở nhiều nơi. Proxy có đường truyền quốc tế tốt thường cho tốc độ ổn hơn proxy rẻ có băng thông quốc tế hẹp.

Cask và proxy

Cask tải từ trang của nhà phát triển

brew install --cask cài ứng dụng có giao diện như trình duyệt, trình soạn thảo mã, ứng dụng chat. Khác với gói dòng lệnh, tệp cài của cask thường tải trực tiếp từ trang của nhà phát triển ứng dụng, không qua kho gói của Homebrew. Mỗi cask đi tới một máy chủ khác nhau.

Lỗi riêng của cask

  • Trang nhà phát triển chặn dải IP của proxy, tải bị từ chối.
  • Trang yêu cầu trình duyệt, chuyển hướng nhiều lần, curl qua proxy bị lỗi giữa chừng.
  • Tệp cài lớn hàng trăm MB, proxy giới hạn dung lượng làm đứt.

Khi cask lỗi mà gói thường chạy được, thử tải tệp cài bằng trình duyệt để xem trang nhà phát triển có vấn đề không. Có thể tạm tắt proxy riêng cho lệnh cài cask nếu mạng cho phép đi thẳng.

Ứng dụng sau khi cài

Ứng dụng cài bằng cask là ứng dụng macOS bình thường, dùng proxy hệ thống hoặc cài đặt proxy riêng trong ứng dụng. Biến môi trường trong Terminal không ảnh hưởng tới ứng dụng mở từ Launchpad.

Bảo mật khi dùng proxy cho trình quản lý gói

Homebrew kiểm tra mã băm

Mỗi gói trong Homebrew có mã băm SHA-256 ghi sẵn trong công thức. Tải xong, brew so mã băm, không khớp thì từ chối cài. Nhờ vậy proxy dù có can thiệp cũng khó đưa tệp bị sửa vào máy mà không bị phát hiện.

HTTPS bảo vệ đường truyền

Hầu hết nguồn tải dùng HTTPS. Proxy HTTP thông thường chỉ mở đường hầm, không đọc được nội dung. Chỉ proxy công ty có cài chứng chỉ riêng mới giải mã được, và việc đó cần máy tin chứng chỉ của công ty.

Không tắt kiểm tra chứng chỉ

Một số hướng dẫn trên mạng khuyên đặt curl bỏ qua kiểm tra chứng chỉ để hết lỗi khi đi qua proxy. Làm vậy là mở cửa cho kẻ đứng giữa tráo nội dung. Sửa đúng gốc lỗi: thêm chứng chỉ của proxy công ty vào hệ thống.

Proxy cho Homebrew trên máy chip Apple Silicon

Hai thư mục cài đặt

Trên máy chip Apple Silicon, Homebrew cài vào /opt/homebrew. Trên máy chip Intel, Homebrew nằm ở /usr/local. Một số máy chuyển từ Intel sang Apple Silicon bằng công cụ chuyển dữ liệu có cả hai bản Homebrew. Biến proxy trong ~/.zshrc áp dụng cho cả hai, nhưng khi gỡ lỗi cần biết đang chạy bản nào bằng lệnh which brew.

Chạy brew qua Rosetta

Người chạy brew bản Intel qua Rosetta trên máy Apple Silicon vẫn dùng chung biến môi trường. Không cần cấu hình proxy riêng cho Rosetta.

Tải bản đúng kiến trúc

Gói đã biên dịch sẵn có bản riêng cho từng kiến trúc chip. Bản cho Apple Silicon đôi khi ra muộn hơn, brew phải biên dịch từ mã nguồn, tải nhiều hơn qua proxy. Đây là lý do cùng một gói mà máy này cài nhanh, máy kia cài lâu.

Homebrew trên Linux và máy chủ CI

Linux

Homebrew trên Linux dùng cùng cơ chế: curl và git, đọc biến môi trường. Đặt biến trong ~/.bashrc hoặc ~/.profile tuỳ shell.

Máy chủ CI

Trong cấu hình CI, đặt biến proxy ở mức công việc hoặc mức toàn hệ thống. Kết hợp HOMEBREW_NO_AUTO_UPDATE và bộ nhớ đệm thư mục tải của brew để giảm lưu lượng qua proxy mỗi lần chạy.

Lưu ý với sudo

Không chạy brew bằng sudo. Nếu lỡ chạy lệnh cần quyền với sudo, biến môi trường proxy có thể không được chuyển theo. Homebrew được thiết kế để chạy bằng người dùng thường.

Proxy cho các công cụ khác bên cạnh brew

Cài phần mềm qua brew xong, các công cụ khác cũng cần proxy:

Bảng: Proxy cho các công cụ khác bên cạnh brew

Công cụ

Cách đặt proxy

pip

Biến môi trường hoặc tham số --proxy

npm

npm config set proxy, https-proxy

git

git config http.proxy

Docker Desktop

Phần cài đặt proxy trong ứng dụng

curl, wget

Biến môi trường

Cách cài proxy cho pip có trong bài pip proxy. Đặt biến môi trường trong ~/.zshrc như trên đã phủ được phần lớn các công cụ dòng lệnh.

Ví dụ: lập trình viên mới vào công ty có proxy

Một lập trình viên mới nhận MacBook từ công ty, mạng văn phòng bắt buộc đi qua proxy HTTP có xác thực. Cài Homebrew bằng lệnh cài đặt chính thức thì treo, brew install báo lỗi kết nối.

Cách làm

  • Hỏi IT địa chỉ proxy, cổng, tài khoản, và chứng chỉ gốc nếu proxy giải mã HTTPS.
  • Thêm chứng chỉ gốc vào Keychain, đặt tin cậy.
  • Đặt biến http_proxy, https_proxy, all_proxy, no_proxy trong ~/.zshrc với tài khoản đã mã hoá ký tự đặc biệt.
  • Đặt proxy cho git.
  • Chạy lại lệnh cài Homebrew, sau đó brew install các công cụ cần thiết.

Kết quả

Homebrew cài xong, brew install chạy bình thường. Ở nhà, lập trình viên gõ proxy_off trước khi dùng brew, vì mạng nhà không có proxy công ty.

Chọn proxy cho brew và công cụ lập trình

Cài gói thành công qua proxy

Cài gói thành công qua proxy

Với lập trình viên cần proxy ổn định cho brew, git, pip, npm khi mạng chậm hoặc cần IP cố định để vào máy chủ có danh sách cho phép, proxy datacenter có băng thông lớn là lựa chọn hợp lý. Anh em cần proxy HTTP, SOCKS5 tốc độ cao IP Việt Nam hoặc datacenter Mỹ có thể mua proxy tại ProxyVN.

Câu hỏi thường gặp về Homebrew proxy

brew có lệnh cài proxy riêng không

Không. brew dùng curl và git, đặt proxy qua biến môi trường http_proxy, https_proxy, all_proxy.

Vì sao cài proxy trong macOS mà brew vẫn không đi qua proxy

Proxy hệ thống không áp dụng cho curl, git trong Terminal. Phải đặt biến môi trường.

brew có dùng được SOCKS5 không

Được. Đặt all_proxy=socks5h://máy chủ:cổng.

Đặt biến ở đâu để không phải gõ lại

Trong ~/.zshrc với zsh, ~/.bash_profile với bash.

brew update chậm qua proxy phải làm sao

Đặt proxy cho git, giảm số tap không dùng, đặt HOMEBREW_NO_AUTO_UPDATE=1 và cập nhật thủ công.

Lỗi chứng chỉ khi dùng proxy công ty

Proxy công ty giải mã HTTPS. Thêm chứng chỉ gốc của công ty vào hệ thống theo hướng dẫn của IT.

Tổng kết

Homebrew proxy không có lệnh riêng: brew tải gói bằng curl và cập nhật bằng git, nên đặt proxy bằng biến http_proxy, https_proxy, all_proxy trong ~/.zshrc, kèm no_proxy cho địa chỉ nội bộ. Dùng socks5h:// cho SOCKS5, mã hoá ký tự đặc biệt trong mật khẩu, đặt thêm http.proxy cho git nếu brew update chậm. Proxy hệ thống macOS không áp dụng cho Terminal. Khi lỗi, chạy brew với --verbose, thử curl trực tiếp, kiểm tra lỗi 407 xác thực hoặc lỗi chứng chỉ do proxy công ty. Cần tư vấn về proxy, anh em liên hệ Proxy.vn - Nhà cung cấp dịch vụ proxy chất lượng hàng đầu Việt Nam để được tư vấn.

TIN TỨC LIÊN QUAN