文章目录
在开发中,网络环境有时会影响工具的下载速度,例如 npm install
或 apt install
可能因访问外部资源较慢而受阻。我最近在 Ubuntu 上配置了一个本地 HTTP 代理( 127.0.0.1:7890
),通过优化网络访问,成功让终端命令(如 curl
、 npm install
和 apt install
)快速使用默认 npm registry 和 Ubuntu 软件源, 无需切换到其他镜像,确保获取最新资源 。以下是我的操作步骤和经验分享, 特别强调通过代理直接访问默认源的便利性 。
背景
我的项目需要运行 npm install
安装依赖,但直接访问默认 npm registry(https://registry.npmjs.org
)速度较慢。类似地,apt install
访问 Ubuntu 默认源(如 archive.ubuntu.com
)也受限。除了更换镜像源,通过配置本地代理,我优化了网络访问,也显著提升了下载速度。
步骤 1:测试网络连通性
我先尝试访问外部资源验证网络状态:
bash
curl -I https://www.google.com
命令卡住,说明直接访问受限,需配置代理。
步骤 2:设置终端代理
在 Ubuntu 终端中,我设置了 HTTP/HTTPS 代理,通过本地代理(某一个工具)优化网络访问:
bash
export http_proxy=http://127.0.0.1:7890
export https_proxy=http://127.0.0.1:7890
export all_proxy=http://127.0.0.1:7890
再次运行:
bash
curl -I https://www.google.com
返回 HTTP 200,表明代理生效:
HTTP/2 200
content-type: text/html; charset=ISO-8859-1
...
步骤 3:为 npm 配置代理
关键点:通过代理直接访问默认 npm registry
通过代理优化网络后,我无需切换到其他镜像 ,直接使用默认 registry(https://registry.npmjs.org
)。这确保获取最新依赖包,避免了镜像同步可能的延迟。我为 npm 配置代理:
bash
npm config set proxy http://127.0.0.1:7890
npm config set https-proxy http://127.0.0.1:7890
然后在项目目录运行:
bash
cd ~/go/src/myUI
npm cache clean --force
rm -rf node_modules package-lock.json
npm install --verbose
--verbose
显示下载进度,确认代理加速效果。如果速度仍不理想,可尝试国内镜像:
bash
npm config set registry https://registry.npmmirror.com
步骤 4:为 apt 配置代理
类似地,通过代理优化访问 Ubuntu 默认软件源 (如 archive.ubuntu.com
),无需切换其他源。我配置 apt 使用代理:
bash
sudo nano /etc/apt/apt.conf.d/proxy.conf
添加:
Acquire::http::Proxy "http://127.0.0.1:7890";
Acquire::https::Proxy "http://127.0.0.1:7890";
保存后运行:
bash
sudo apt update
sudo apt install <package_name>
这让 apt
通过代理访问默认源,下载速度显著提升。
步骤 5:持久化代理设置
临时代理设置在终端关闭后失效。也可以为了持久化编辑 ~/.bashrc
:
bash
nano ~/.bashrc
添加:
bash
export http_proxy=http://127.0.0.1:7890
export https_proxy=http://127.0.0.1:7890
export all_proxy=http://127.0.0.1:7890
保存并应用:
bash
source ~/.bashrc
注意事项
-
ping 不通的原因 :我尝试
ping google.com
,发现不通。这是因为ping
使用 ICMP 协议,而 HTTP 代理只处理 HTTP/HTTPS 流量,不影响npm
或apt
的功能。 -
代理优化的优势 :通过本地代理优化网络访问,我直接使用默认 npm registry 和 Ubuntu 源,简化配置并确保获取最新资源 。测试 registry 速度:
bashcurl -o /dev/null -s -w "%{time_total}\n" https://registry.npmjs.org
若响应时间 >2 秒,可切换国内镜像。
-
代理稳定性 :确保代理服务在
127.0.0.1:7890
运行:bashcurl -I http://127.0.0.1:7890
-
Node.js 版本 :我的 Node.js 是 v22.16.0(Current 版本),可能与某些依赖不完全兼容,建议用 LTS 版本(如 18.x):
bashnvm install 18 nvm use 18
总结
通过配置 HTTP 代理(127.0.0.1:7890
),我优化了 Ubuntu 终端的网络访问,让 curl
、npm install
和 apt install
快速使用默认 npm registry 和 Ubuntu 软件源。强调:通过代理优化网络后,无需切换其他镜像即可直接访问默认源,配置简单且效率高。如果你的网络环境受限,试试这个方法!有问题欢迎留言交流。