当前位置: 首页 > article >正文

在 Ubuntu 终端中配置网络代理:优化 npm、apt等的下载速度

文章目录

    • 背景
    • 步骤 1:测试网络连通性
    • 步骤 2:设置终端代理
    • 步骤 3:为 npm 配置代理
    • 步骤 4:为 apt 配置代理
    • 步骤 5:持久化代理设置
    • 注意事项
    • 总结

在开发中,网络环境有时会影响工具的下载速度,例如 npm installapt install 可能因访问外部资源较慢而受阻。我最近在 Ubuntu 上配置了一个本地 HTTP 代理( 127.0.0.1:7890),通过优化网络访问,成功让终端命令(如 curlnpm installapt install)快速使用默认 npm registry 和 Ubuntu 软件源, 无需切换到其他镜像,确保获取最新资源。以下是我的操作步骤和经验分享, 特别强调通过代理直接访问默认源的便利性

背景

我的项目需要运行 npm install 安装依赖,但直接访问默认 npm registry(https://registry.npmjs.org)速度较慢。类似地,apt install 访问 Ubuntu 默认源(如 archive.ubuntu.com)也受限。除了更换镜像源,通过配置本地代理,我优化了网络访问,也显著提升了下载速度。

步骤 1:测试网络连通性

我先尝试访问外部资源验证网络状态:

curl -I https://www.google.com

命令卡住,说明直接访问受限,需配置代理。

步骤 2:设置终端代理

在 Ubuntu 终端中,我设置了 HTTP/HTTPS 代理,通过本地代理(某一个工具)优化网络访问:

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

再次运行:

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 配置代理:

npm config set proxy http://127.0.0.1:7890
npm config set https-proxy http://127.0.0.1:7890

然后在项目目录运行:

cd ~/go/src/myUI
npm cache clean --force
rm -rf node_modules package-lock.json
npm install --verbose

--verbose 显示下载进度,确认代理加速效果。如果速度仍不理想,可尝试国内镜像:

npm config set registry https://registry.npmmirror.com

步骤 4:为 apt 配置代理

类似地,通过代理优化访问 Ubuntu 默认软件源(如 archive.ubuntu.com),无需切换其他源。我配置 apt 使用代理:

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";

保存后运行:

sudo apt update
sudo apt install <package_name>

这让 apt 通过代理访问默认源,下载速度显著提升。

步骤 5:持久化代理设置

临时代理设置在终端关闭后失效。也可以为了持久化编辑 ~/.bashrc

nano ~/.bashrc

添加:

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

保存并应用:

source ~/.bashrc

注意事项

  1. ping 不通的原因:我尝试 ping google.com,发现不通。这是因为 ping 使用 ICMP 协议,而 HTTP 代理只处理 HTTP/HTTPS 流量,不影响 npmapt 的功能。
  2. 代理优化的优势:通过本地代理优化网络访问,我直接使用默认 npm registry 和 Ubuntu 源,简化配置并确保获取最新资源。测试 registry 速度:
    curl -o /dev/null -s -w "%{time_total}\n" https://registry.npmjs.org
    
    若响应时间 >2 秒,可切换国内镜像。
  3. 代理稳定性:确保代理服务在 127.0.0.1:7890 运行:
    curl -I http://127.0.0.1:7890
    
  4. Node.js 版本:我的 Node.js 是 v22.16.0(Current 版本),可能与某些依赖不完全兼容,建议用 LTS 版本(如 18.x):
    nvm install 18
    nvm use 18
    

总结

通过配置 HTTP 代理(127.0.0.1:7890),我优化了 Ubuntu 终端的网络访问,让 curlnpm installapt install 快速使用默认 npm registry 和 Ubuntu 软件源。强调:通过代理优化网络后,无需切换其他镜像即可直接访问默认源,配置简单且效率高。如果你的网络环境受限,试试这个方法!有问题欢迎留言交流。

http://www.lryc.cn/news/2393098.html

相关文章:

  • Apptrace:APP安全加速解决方案
  • Dockerfile 构建优化的方法
  • Web攻防-SQL注入增删改查HTTP头UAXFFRefererCookie无回显报错
  • Python中openpyxl库的基础解析与代码实例
  • GoldenDB管理节点zk部署
  • mac mini m4命令行管理员密码设置
  • 计算机网络之差错控制中的 CRC(循环冗余校验码)
  • 红客 Linux 系统性全解析
  • 【深度学习】7. 深度卷积神经网络架构:从 ILSVRC、LeNet 到 AlexNet、ZFNet、VGGNet,含pytorch代码结构
  • 基于cornerstone3D的dicom影像浏览器 第二十七章 设置vr相机,复位视图
  • 2025年渗透测试面试题总结-匿名[校招]高级安全工程师(代码审计安全评估)(题目+回答)
  • Jenkins实践(7):Publish over SSH功能
  • SQLite 中文写入失败问题总结
  • JavaScript篇:闭包:JavaScript中的魔法口袋,装下你的编程智慧
  • ubuntu系统安装Pyside6报错解决
  • DeepSeek 赋能智能零售:从数据洞察到商业革新
  • 榕壹云医疗服务系统:基于ThinkPHP+MySQL+UniApp的多门店医疗预约小程序解决方案
  • 苏州SAP代理公司排名:工业园区企业推荐的服务商
  • 数据结构中无向图的邻接矩阵详解
  • .NET 7 AOT 使用及 .NET 与 Go 语言互操作详解
  • OpenCV 第7课 图像处理之平滑(一)
  • React 编译器
  • HCIP:MPLS静态LSP的配置及抓包
  • VASP 教程:VASP 结合 Phonopy 计算硅的比热容
  • YOLO使用SAHI进行小目标检测
  • [论文阅读]Prompt Injection attack against LLM-integrated Applications
  • 【SpringCache 提供的一套基于注解的缓存抽象机制】
  • DALI DT6与DALI DT8介绍
  • day13 leetcode-hot100-24(链表3)
  • Python实战:打造高效通讯录管理系统