Skip to content

Conversation

Entropy-xcy
Copy link

问题描述

在多用户服务器环境中,当多个用户尝试同时运行 Claude Code Router 时,会出现以下错误:
Error: EACCES: permission denied, open /tmp/claude-code-reference-count.txt

这是因为引用计数文件位于系统共享的临时目录中,第一个用户创建文件后,其他用户由于权限不足无法
访问。

解决方案

修改 src/constants.ts 文件:

  • 文件路径变更:/tmp/claude-code-reference-count.txt
    ~/.claude-code-router/claude-code-reference-count.txt
  • 每个用户现在拥有独立的引用计数文件

  - 将 REFERENCE_COUNT_FILE 从系统临时目录 (/tmp/) 移动到用户主目录下的 .claude-code-router
  目录
  - 添加 fs 模块导入以支持文件系统操作
  - 解决多用户在同一服务器上同时运行 ccr 时的 EACCES 权限错误
@musistudio
Copy link
Owner

"每个用户现在拥有独立的引用计数文件" 这句是什么意思,我看了下只是修改了文件路径,另外还有一点就是当用户重启电脑后这个文件不会自动清零

@Entropy-xcy
Copy link
Author

就是只改了个路径,不过这个路径是每个用户自己目录下的了,也就是每个用户有个独立的计数器。重启之后不会清零(需要清零吗?)

@musistudio
Copy link
Owner

就是只改了个路径,不过这个路径是每个用户自己目录下的了,也就是每个用户有个独立的计数器。重启之后不会清零(需要清零吗?)

如果不清零的话这个计数不就不准了吗

@Entropy-xcy
Copy link
Author

那我来实现一下重启后清零的方案。还是放到/tmp/<user_hash>/claude-code-reference-count.txt里吧。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants