处理bolt.diy 安装过程遇到的Error: write EPIPE

bolt.new 试用了一下,生成的vue3项目的工程能力还可以接受,但就是有使用限额。于是打算自己部署bolt.diy这个开源版本搭配DEEPSEEK来使用。

按文档操作,
https://stackblitz-labs.github.io/bolt.diy/
 

但在  pnpm run dev 这一步遇到问题了:

Error: write EPIPE
    at __node_internal_captureLargerStackTrace (node:internal/errors:563:5)
    at __node_internal_errnoException (node:internal/errors:690:12)
    at afterWriteDispatched (node:internal/stream_base_commons:160:15)
    at writeGeneric (node:internal/stream_base_commons:151:3)
    at Socket._writeGeneric (node:net:952:11)
    at Socket._write (node:net:964:8)
    at writeOrBuffer (node:internal/streams/writable:556:12)
    at _write (node:internal/streams/writable:490:10)
    at Socket.Writable.write (node:internal/streams/writable:494:10)
    at Runtime.updateConfig (/mnt/vm/project/bolt.diy/node_modules/.pnpm/miniflare@3.20250214.2/node_modules/miniflare/src/runtime/index.ts:154:24)
    at Miniflare2.#assembleAndUpdateConfig (/mnt/vm/project/bolt.diy/node_modules/.pnpm/miniflare@3.20250214.2/node_modules/miniflare/src/index.ts:1408:28)
    at Mutex.runWith (/mnt/vm/project/bolt.diy/node_modules/.pnpm/miniflare@3.20250214.2/node_modules/miniflare/src/workers/shared/sync.ts:66:45)
    at Miniflare2.#waitForReady (/mnt/vm/project/bolt.diy/node_modules/.pnpm/miniflare@3.20250214.2/node_modules/miniflare/src/index.ts:1496:3)
    at Miniflare2._getProxyClient (/mnt/vm/project/bolt.diy/node_modules/.pnpm/miniflare@3.20250214.2/node_modules/miniflare/src/index.ts:1702:3)
    at Miniflare2.getBindings (/mnt/vm/project/bolt.diy/node_modules/.pnpm/miniflare@3.20250214.2/node_modules/miniflare/src/index.ts:1725:23)
    at getPlatformProxy (/mnt/vm/project/bolt.diy/node_modules/.pnpm/wrangler@3.112.0_@cloudflare+workers-types@4.20250303.0/node_modules/wrangler/wrangler-dist/cli.js:157855:20)
    at configureServer (/mnt/vm/project/bolt.diy/node_modules/.pnpm/@remix-run+dev@2.16.0_@remix-run+react@2.16.0_sass-embedded@1.85.1_typescript@5.8.2_vite@5.4.14_wrangler@3.112.0/node_modules/@remix-run/dev/dist/vite/cloudflare-proxy-plugin.js:55:11)
    at _createServer (file:///mnt/vm/project/bolt.diy/node_modules/.pnpm/vite@5.4.14_sass-embedded@1.85.1/node_modules/vite/dist/node/chunks/dep-CHZK6zbr.js:63230:20)
    at configResolved (/mnt/vm/project/bolt.diy/node_modules/.pnpm/@remix-run+dev@2.16.0_@remix-run+react@2.16.0_sass-embedded@1.85.1_typescript@5.8.2_vite@5.4.14_wrangler@3.112.0/node_modules/@remix-run/dev/dist/vite/plugin.js:770:27)
    at async Promise.all (index 3)
    at resolveConfig (file:///mnt/vm/project/bolt.diy/node_modules/.pnpm/vite@5.4.14_sass-embedded@1.85.1/node_modules/vite/dist/node/chunks/dep-CHZK6zbr.js:66579:3)
    at _createServer (file:///mnt/vm/project/bolt.diy/node_modules/.pnpm/vite@5.4.14_sass-embedded@1.85.1/node_modules/vite/dist/node/chunks/dep-CHZK6zbr.js:62908:18)
    at dev (/mnt/vm/project/bolt.diy/node_modules/.pnpm/@remix-run+dev@2.16.0_@remix-run+react@2.16.0_sass-embedded@1.85.1_typescript@5.8.2_vite@5.4.14_wrangler@3.112.0/node_modules/@remix-run/dev/dist/vite/dev.js:39:16)
    at Object.viteDev (/mnt/vm/project/bolt.diy/node_modules/.pnpm/@remix-run+dev@2.16.0_@remix-run+react@2.16.0_sass-embedded@1.85.1_typescript@5.8.2_vite@5.4.14_wrangler@3.112.0/node_modules/@remix-run/dev/dist/cli/commands.js:221:3)
    at Object.run (/mnt/vm/project/bolt.diy/node_modules/.pnpm/@remix-run+dev@2.16.0_@remix-run+react@2.16.0_sass-embedded@1.85.1_typescript@5.8.2_vite@5.4.14_wrangler@3.112.0/node_modules/@remix-run/dev/dist/cli/run.js:271:7) {
  errno: -32,
  code: 'EPIPE',
  syscall: 'write'
}
 ELIFECYCLE  Command failed with exit code 1.

 

strace 看到的信息没有帮助

22773 access("node:internal/streams/writable", F_OK) = -1 ENOENT (No such file or directory)
22773 access("node:internal/stream_base_commons", F_OK) = -1 ENOENT (No such file or directory)
22773 close(42<socket:[147003]>)        = 0
22773 write(26</dev/pts/3>, "Error: write EPIPE\n\33[90m    at __node_internal_captureLargerStackTrace (node:internal/errors:563:5)\33[39m\n\33[90m    at __node_inte"..., 4078) = 4078
22773 kill(22854, SIGKILL)   

于是在代码中加一行输出,看它到底执行了什么?

 9213 var Runtime = class {
 9214   #process;
 9215   #processExitPromise;
 9216   async updateConfig(configBuffer, options) {
 9217     await this.dispose();
 9218     const command = getRuntimeCommand();
 9219     const args = getRuntimeArgs(options);
 9220       console.log("command: ", command, "args: ", args);   <------------
 9221     const FORCE_COLOR2 = $.enabled ? "1" : "0";
 NORMAL  stable | node_modules/.pnpm/miniflare@3.20250214.2/node_modules/miniflare/dist/src/index.js 

看到输出如下:

command:  /mnt/vm/project/bolt.diy/node_modules/.pnpm/@cloudflare+workerd-linux-64@1.20250214.0/node_modules/@cloudflare/workerd-linux-64/bin/workerd args:  [
  'serve',
  '--binary',
  '--experimental',
  '--socket-addr=entry=127.0.0.1:0',
  '--external-addr=loopback=127.0.0.1:42387',
  '--control-fd=3',
  '-'
]

于是手工运行一下命令:/mnt/vm/project/bolt.diy/node_modules/.pnpm/@cloudflare+workerd-linux-64@1.20250214.0/node_modules/@cloudflare/workerd-linux-64/bin/workerd

运行失败退出,但看到了 /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /mnt/vm/project/bolt.diy/node_modules/.pnpm/@cloudflare+workerd-linux-64@1.20250214.0/node_modules/@cloudflare/workerd-linux-64/bin/workerd)
有个疑问,我的操作系统不至于没有包含这个版本号的GLIBC吧?

运行命令:ldd --version
ldd (Debian GLIBC 2.28.21-1+deepin-1) 2.28
好家伙,发现deepin20.9的GLIBC版本是定制的,搞不懂 deepin 为什么自己要定制一个版本号,上次安装的 LocalSend 运行不起来也是因为这个glibc定制版本号的问题导致

找到问题后,在deepint系统下我不可能去换它底层的glibc,只能选择用docker 运行 bolt.diy了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值