mirror of
https://github.com/Comfy-Org/ComfyUI-Manager.git
synced 2026-11-05 07:47:25 +00:00
[GH-ISSUE #1411] Bug: Preserve case sensitive directory paths for Registry installs #581
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Comfy-Org/ComfyUI-Manager#581
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @robinjhuang on GitHub (Jan 7, 2025).
Original GitHub issue: https://github.com/Comfy-Org/ComfyUI-Manager/issues/1411
Originally assigned to: @ltdrdata on GitHub.
Currently Manager will install custom nodes using the node id which is lowercase case-insensitive. On some operating systems (Linux), the file system is case sensitive and this will cause issues with Python imports.
https://github.com/Amorano/Jovimetrix/issues/71
@robinjhuang commented on GitHub (Jan 7, 2025):
@ltdrdata Should we just preserve the casing in the Github repo for now?
@VraethrDalkr commented on GitHub (Jan 7, 2025):
I have this issue too. I'm on CachyOS, an Arch Linux distro. It wasn't a problem before, but now it breaks many custom nodes installations through ComfyUI-Manager.
@ltdrdata commented on GitHub (Jan 7, 2025):
@Amorano This is not the case-sensitive issue.
Node pack should not rely on repository name anymore.
github.com/Amorano/Jovimetrix@4a2baf4f6e/init.py#L954ComfyUI-Manager now manages nodes through CNR IDs instead of repository names. The directory names use CNR IDs.
This is the only way to ensure the uniqueness of node packs.
A stricter management system centered around CNR will gradually be applied, providing a level of stability and assurance that non-CNR setups cannot guarantee.
@Amorano commented on GitHub (Jan 7, 2025):
Not sure what to say here. Python IS case-sensitive. Whatever you are using to track "uniques" doesnt matter to the actual problem here.
The problem is the CLI or whatever is doing the git pull to make the repositories for people -- That NEEDS to match the naming of the GITHUB repository -- otherwise, the python imports fail.
jovimetrix != Jovimetrix when doing:
import Jovimetrix.
@dchatel commented on GitHub (Jan 11, 2025):
Btw, you should really stop introducing breaking changes like that.
Imagine if people developing windows or linux introduced a change in their kernel that caused many applications to not run anymore. Everyone affected would be really very angry at them for making these changes with no regard to the ecosystem, and could not see them otherwise than amateurish.
And the idea that "it doesn't matter, because git ensure anyone can get the version they like" is really not an answer.
Even as developers we've built solutions to avoid having to manually handling all the conflict issues due to versioning (things like pip, apt, etc...) you really cannot expect that the average user will get his hands dirty and debug the version conficts.
At the very least the last stable version should be stable.
@ltdrdata commented on GitHub (Jan 11, 2025):
Unfortunately, the early ComfyUI ecosystem was formed without any rules, leading to continuous conflicts, security issues, and an unsustainable structure in the long term.
To create a sustainable future, we are in the process of reshaping the foundation, introducing new rules that did not previously exist. As a result, some practices that were allowed before are now being restricted under the newly established guidelines.
While we strive to maintain backward compatibility as much as possible, some level of breaking changes is inevitable.
I acknowledge that it was my mistake not to provide sufficient announcements regarding the breaking changes.
https://github.com/Comfy-Org/rfcs
@boyan-orion commented on GitHub (Feb 7, 2025):
This issue annoys the hell out of me. I'm avoiding the manager as much as possible and installing the nodes by manual repository pulls. There are node packs and plugins that have internal settings for calling various scripts mapped with static locations which in turn can not be called or utilized because of the directory name case-sensitive difference on Linux.
@ltdrdata commented on GitHub (Feb 7, 2025):
Ideally, code should not assume the installation path of custom nodes in the first place. However, a hotfix will be provided to partially address this issue in the existing implementation.
@dchatel commented on GitHub (Feb 8, 2025):
Maybe a mechanism that abstract the loading of custom nodes would be a very good solution?
The usage could be something like this:
This would rely on the custom node registry of course.
But that wouldn't fix the issues with the front end (where you sometimes need to link a css or js, like in crystools).
@ltdrdata commented on GitHub (May 20, 2025):
Currently, this issue is no longer valid because case-sensitive node pack IDs are now allowed and used directly as directory names.
@tazztone commented on GitHub (Jul 17, 2025):
EDIT: nvm the upper one gives: "With the current security level configuration, only custom nodes from the "default channel" can be installed."
I'm also encountering the issue described here and wanted to add some details, along with a screenshot (to be attached).
Issue Observed
Duplicate node entries: I see the same custom node listed twice in ComfyUI Manager.
Case difference: The only difference between the entries is the folder/repository name casing (e.g., kaytool vs KayTool). Both link to the same repository.
Same repo, different entries: Manager treats them as two separate nodes, although they're from the same source.