Building the Zotero Desktop App on Windows
Note:
If you 1) primarily work on macOS or Linux and just want to test a build on Windows; 2) have WSL installed, you don't need to follow these steps. You can simply create an unpackaged Windows build on your main system/WSL with app/scripts/dir_build -p w
and run the application in app/staging/
from Windows.
Instructions for building the Zotero desktop app assume a POSIX-compliant system capable of handling symbolic links. These instructions will work out-of-the box on most Linux and macOS systems, but Windows requires a few extra steps.
- Run Cygwin Terminal as Administrator (right click → Run as Administrator). Run the following commands in that Cygwin terminal, in a single session.
- Force Cygwin to use native windows symlinks:
export CYGWIN="winsymlinks:nativestrict"
- Clone the Zotero source code without checking it out:
git clone --config core.symlinks=true --no-checkout https://github.com/zotero/zotero zotero-client
- Change to the source code repo, check out required files, and install Node.js modules:
cd zotero-client git checkout HEAD package.json package-lock.json npm install
- Check out the remaining files, creating valid symbolic links:
git checkout -f HEAD git submodule update --init --recursive
Note: If you are seeing here errors of the form “error: unable to create symlink […]: Operation not permitted” then you are not running Cygwin as an administrator (see step 2 above).
- Fetch
rcedit
, which is an additional build dependency on Windows:app/scripts/fetch_rcedit
- Continue building the app with
app/scripts/build_and_run -r
, as explained on Building the Zotero Desktop App
Troubleshooting Errors
line 2: $'\r' : command not found
This error is caused by the Cygwin shell misinterpreting Windows line endings in the Node executable. Rerun the Cygwin installer, add the “dos2unix” package, then run:
dos2unix "$(which npm)" "$(which npx)"