You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 22.04服务器上Deno应用无法下载依赖的问题求助

解决Deno部署Ubuntu 22.04时无法加载远程模块的问题

问题说明

部署Deno+Fresh应用到Ubuntu 22.04服务器时,出现以下错误:

error: Import 'https://deno.land/std@0.193.0/dotenv/load.ts' failed: error sending request for url (https://deno.land/std@0.193.0/dotenv/load.ts): error trying to connect: Connection reset by peer (os error 104)
at file:///home/hyse.ch/main.ts:7:8

环境配置:

  • Ubuntu 22.04
  • Deno 1.37.2 (release, x86_64-unknown-linux-gnu)
  • v8 11.8.172.13
  • TypeScript 5.2.2

解决方案

1. 排查服务器网络限制

Connection reset by peer大多是网络层面的问题,先确认服务器能否正常访问deno.land:

  • 用curl测试连通性:
    curl -v https://deno.land/std@0.193.0/dotenv/load.ts
    
    如果curl也报错,检查防火墙和DNS:
    • 开放HTTPS出站端口:
      sudo ufw allow out 443/tcp
      sudo ufw reload
      
    • 更换DNS为公共DNS(比如Google的8.8.8.8):
      sudo nano /etc/resolv.conf
      
      修改内容为:
      nameserver 8.8.8.8
      nameserver 8.8.4.4
      
      保存后重新测试curl。

2. 修复Deno SSL证书问题

即使更新了系统证书,Deno可能没正确读取,试试以下操作:

  • 强制Deno使用系统证书启动:
    deno run --cert /etc/ssl/certs/ca-certificates.crt main.ts
    
    如果是Fresh应用,启动命令改为:
    deno task start --cert /etc/ssl/certs/ca-certificates.crt
    
  • 重新更新系统证书:
    sudo update-ca-certificates -f
    
    完成后重启应用。

3. 升级Deno版本

你的Deno版本1.37.2对应std@0.193.0可能存在兼容问题,升级到最新稳定版试试:

deno upgrade

升级后重新运行应用。

4. 本地预下载依赖再部署

如果网络问题无法解决,先在本地把所有依赖下载好,再传到服务器:

  • 本地执行命令缓存依赖到deps目录:
    deno cache --output ./deps main.ts
    
  • 将deps目录和应用代码一起上传到服务器。
  • 修改main.ts中的导入路径,把远程URL换成本地路径,比如:
    import "./deps/std@0.193.0/dotenv/load.ts";
    
  • 最后在服务器运行应用。

内容的提问来源于stack exchange,提问作者Nougator

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 15:17:04