Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

无法正确生成helpers.mjs文件以及出现Error: EBUSY: resource busy or locked错误 #97

Open
gisuni-fantasy opened this issue Jul 8, 2024 · 6 comments

Comments

@gisuni-fantasy
Copy link

gisuni-fantasy commented Jul 8, 2024

【环境】
window 10专业版,vs code 1.91.0,taro 3.6.29,postcss 8.4.39,@pandacss/dev 0.39.2,weapp-pandacss 1.5.0
【问题】
panda codegen && weapp-panda codegen命令执行正常,已正确生成helpers.mjs文件
在执行build:weapp和dev:weapp命令时均会出现如下Error: EBUSY: resource busy or locked错误
image
image
每次执行编译EBUSY: resource busy or locked出现的次数和指向的文件有一定随机性
同时会导致helpers.mjs文件只有一行代码
image
【尝试解决】
1、在编译结束后,应用无法正常运行,但用weapp-panda codegen生成的正常的helpers.mjs文件内容替换掉错误的内容后,应用和样式就正常了
2、尝试修改node_modules/weapp-pandacss/dist/context-DWYG9rON.cjs文件
image
修改后可消除EBUSY错误
3、尝试修改node_modules/weapp-pandacss/dist/context-DWYG9rON.cjs文件
image
修改后可生成正确的helpers.mjs文件
【疑问】
taro-react-pandacss-template 示例中,代码文件较少,就不会出现这个问题。但我的工程的文件数比较多,编译时createContext里的codegen方法会执行几十次,其中调用的copyEscape、patch方法会不断地读写文件,猜测是并行过程导致了文件读写异常,请问是否有其他方式能修复这个问题?

@sonofmagic
Copy link
Owner

是的,当时设计实现时候,写的比较粗糙,没有考虑到这种场景。后续看到没有什么用户就没有继续迭代版本。

没想到还是大佬在用的哈,感谢使用,这个问题我会尽快 fix 的。

@sonofmagic
Copy link
Owner

可以试试 "weapp-pandacss": "1.5.1", 版本,这个版本减少了一些不必要的 fs 操作

假如还是不能解决问题,再在这个 issue 里回复吧

@gisuni-fantasy
Copy link
Author

感谢如此快的响应,问题仍然存在,错误和helpers.mjs的问题也一样,按之前那样修改后就正常了

@sonofmagic
Copy link
Owner

我学习你一下你的改法,因为你是在我的 dist 产物上改的,出现问题的源代码应该在这里:
https://github.com/sonofmagic/weapp-pandacss/blob/main/src/postcss/plugins.ts#L237

@sonofmagic
Copy link
Owner

看起来您的改动能解决问题,但是不能治本。我很想找一种,可以治本的方法。

请问您能提供可复现的 demo,或者您能够把我加到私有仓库里面吗,我想复现一下这个错误。

@sonofmagic
Copy link
Owner

试试 1.5.3 版本,我又尝试修复了一下

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

No branches or pull requests

2 participants