Issues with the "Building the Zotero Desktop App on Windows" wiki page

edited February 28, 2025
There are multiple issues with instructions for building Zotero on Windows ("Building the Zotero Desktop App on Windows", https://www.zotero.org/support/dev/client_coding/building_the_desktop_app_windows_notes).

Since editing wiki pages necessitates a separate account, I am planning to post issues/solutions in this thread, unless instructed otherwise.

Item #1 - instruction related to required Cygwin packages:
Suggest adding "xxd" editor to the list of explicitly specified required packages. Perhaps, also add "xxd" check to the "app/scripts/check_requirements" script.
  • edited February 28, 2025
    Thanks, but honestly you should just use WSL or a Linux VM, as it says at the top. I'm inclined to just remove these — we never use them ourselves, so they're never going to be well tested.
  • I see. Well, WSL is in a sense touchy (or at least used to be) and I had not particularly pleasant experience with it. Besides, I do not like the entire concept very much. I do not really want to mess with the system, unless absolutely necessary. WSL is a niche component, so it is practically guaranteed to be tested worse than the rest. I much rather prefer leaving the working system alone and installing software using a user account outside the system. Both Cygwin and MSYS2 provide such an alternative to WSL. And MSYS2 environment is easier to replicate, because the setup process can be scripted relatively straightforwardly, as opposed to Cygwin (AFAIK). VM approach also has pro's and con's.

    Regardless, I managed to get it to work with Cygwin (but not MSYS2). A major issue with Cygwin was that Node on Windows defaults to spawning child processes via cmd.exe, failing the build process due to incompatibility issues. Additional configuration needs to be set in the Cygwin shell (using actual location of bash):

    npm config set script-shell "C:\cygwin\bin\bash.exe"

    to instruct Node not use cmd.exe.
Sign In or Register to comment.