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

部署MERN Discord克隆项目至Railway遇错及跨浏览器异常求助

Discord克隆项目部署与浏览器兼容性问题排查

一、Chrome/Edge网络请求Pending问题

前端部署在Vercel,Firefox可正常运行,但Chrome和Edge中所有网络请求一直处于pending状态,可从以下方向排查:

  • 检查CORS配置:Chrome对跨域请求的校验比Firefox严格,确认后端Railway的CORS设置是否允许Vercel域名访问。需保证响应头包含Access-Control-Allow-Origin(指定Vercel域名或通配符)、Access-Control-Allow-Methods等必要字段。
  • 分析请求详情:打开Chrome DevTools的Network面板,查看pending请求的类型、是否有预检OPTIONS请求失败。如果是WebSocket连接挂起,检查后端WebSocket服务是否正常,以及Railway的端口/安全组是否开放对应端口。
  • 清理浏览器缓存:Chrome可能缓存了旧的请求配置,试试强制刷新页面(Ctrl+Shift+R)或清空缓存后重新测试。
  • 排查安全策略冲突:检查前端是否使用了仅Firefox兼容的API/请求头,或者Chrome的Content Security Policy(CSP)是否阻止了请求。查看DevTools的Console面板是否有相关报错信息。

二、Railway部署前端失败(ERESOLVE依赖冲突)

Railway构建时执行npm ci出现依赖解析失败,核心错误为npm ERR! ERESOLVE could not resolve,完整构建日志如下:

==============
Using Nixpacks
==============
Inline cache enabled
no image tag to read cache from

╔═════════ Nixpacks v1.0.0 ═════════╗
║ setup      │ nodejs-16_x, npm-8_x ║
║───────────────────────────────────║
║ install    │ npm ci               ║
║───────────────────────────────────║
║ build      │ npm run build        ║
║───────────────────────────────────║
║ start      │ npm run start        ║
╚═══════════════════════════════════╝


#1 [internal] load build definition from Dockerfile
#1 sha256:8877270a0c7cc13a2a9d5d8d7622cdc0ed73b70ab957d081f5d2851376bd3d8b

#1 transferring dockerfile: 2.08kB done
#1 DONE 0.1s

#2 [internal] load .dockerignore
#2 sha256:2affaad88737ba21b452b724bb2eb7f99ebe9375f3ecc65cb617a265f26c24d8
#2 transferring context:

#2 transferring context: 2B done
#2 DONE 0.2s

#3 [internal] load metadata for ghcr.io/railwayapp/nixpacks:ubuntu-1671044363
#3 sha256:d2df4677b7c4c8365aa628f14d4cbdd9867466b6b454c21060180de4b7936a2e

#3 DONE 0.2s

#4 [stage-0  1/10] FROM ghcr.io/railwayapp/nixpacks:ubuntu-1671044363@sha256:4df36f942799b8b727c8648ca4fa05d9cd2526e41e7994665082c0f7ef03d95b
#4 sha256:a20b8f1ac783d9d00f7c673a9ef0cf3b8f0aaee89856a86f7aff78cda1934897
#4 DONE 0.0s

#5 [stage-0  2/10] WORKDIR /app/
#5 sha256:46f35bb14209f31cddb6d0e80d42b3ceb58d2f45672a3486e22a069140ac06a3
#5 CACHED

#6 [internal] load build context
#6 sha256:5648a1c35d09c4517e30329702fb9cb16d3deaa95854bbf8005030d88d65df40

#6 transferring context: 1.35MB 0.0s done
#6 DONE 0.1s

#7 [stage-0  3/10] COPY .nixpacks/nixpkgs-ffca9ffaaafb38c8979068cee98b2644bd3f14cb.nix .nixpacks/nixpkgs-ffca9ffaaafb38c8979068cee98b2644bd3f14cb.nix
#7 sha256:27a0f7b0a4acef0e435ab6d4d2af6e3163455490546099ce36a6ce8090fa6663
#7 CACHED

#8 [stage-0  4/10] RUN nix-env -if .nixpacks/nixpkgs-ffca9ffaaafb38c8979068cee98b2644bd3f14cb.nix && nix-collect-garbage -d
#8 sha256:b14288120fda49c3952311baf2b490fed38e5c18b07a41507a8fa40b078b7061
#8 CACHED

#9 [stage-0  5/10] RUN printf '\nPATH=/app/node_modules/.bin:$PATH' >> /root/.profile
#9 sha256:12dcf6a42bf1344db5b7a02483f2b846eaf2f6bd1e5f24337f79a8189bc2ff93

#9 DONE 0.4s


#10 [stage-0  6/10] COPY . /app/.
#10 sha256:ce0a407cd50a1ccbe3be23e8717eb5b1978e54736f3716257765a0c50bc6ff1f
#10 DONE 0.1s


#11 [stage-0  7/10] RUN --mount=type=cache,id=s/b947d48a-6811-4bd7-be53-d870d96fde71-/root/npm,target=/root/.npm npm ci
#11 sha256:292fe72abf96a75827c016a9bb758e94e0a7fc5724f193e1c1830ac7b3ac5920

#11 0.730 npm WARN config
production Use `--omit=dev` instead.

#11 1.915 npm ERR! code ERESOLVE

#11 1.919 npm ERR! ERESOLVE could not resolve
#11 1.919 npm ERR!

解决步骤:

  • 修复依赖冲突:npm ci严格遵循package-lock.json安装,若lock文件和package.json版本不一致就会报错。按以下操作:
    1. 删除本地node_modules和package-lock.json
    2. 执行npm install重新生成lock文件
    3. 提交更新后的package-lock.json到仓库,重新部署到Railway
  • 指定Node.js版本:Railway当前用的是Node.js 16 + npm 8,若项目依赖对版本敏感,在项目根目录创建.nvmrc文件(比如写入18),让Nixpacks使用对应版本的npm
  • 替换安装命令:若冲突暂时无法解决,可在Railway项目设置里把安装命令从npm ci改成npm install,它会自动尝试解决依赖冲突,但稳定性略逊于npm ci

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 10:40:41