Building the Zotero Client on Windows
Instructions for Building the Zotero Client 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:
- Clone the Zotero source code, Zotero XPI build scripts, and standalone client build scripts. Zotero source code is cloned but not checked out (i.e. no actual files are created):
git clone --config core.symlinks=true --no-checkout https://github.com/zotero/zotero zotero-client git clone --recursive https://github.com/zotero/zotero-build git clone --recursive https://github.com/zotero/zotero-standalone-build
- 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” (in zotero-standalone-build) which is an additional build dependency on Windows:
(cd ../zotero-standalone-build && ./scripts/fetch_rcedit)
- Now continue with instructions on Building the Zotero Client, beginning with step 3.
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)"