Installation
January 17, 2021 ยท View on GitHub
The readme contains some information on the simplest installation methods, but you can also install Patchwork by fetching from Git and building from source.
Dependencies
- Git
- Node.js (Active LTS)
- npm or Yarn
- autoconf and automake
- libtool
- x11 and libxkbfile (Linux only)
Debian / Ubuntu
apt-get install \
automake \
g++ \
libgconf-2-4 \
libtool \
libxext-dev \
libxkbfile-dev \
libxtst-dev \
m4 \
make
CentOS / Fedora
dnf install \
libXext-devel \
libXtst-devel \
libxkbfile-devel \
gcc-c++ \
m4 \
automake \
libtool
macOS
brew install libtool automake
NixOS
nix-shell -p nodejs autoconf automake libtool x11 xlibs.libxkbfile electron_8
Fetch
git clone https://github.com/ssbc/patchwork
cd patchwork
Build
With npm:
npm install
If you receive 'No native build found' errors, try instead:
npm install --build-from-source
With yarn:
yarn
Proxy
Normally, the application will follow your system settings to use a proxy, or you can set up a proxy by the following command line options.
--proxy-server=<SERVER>:<PORT>
--proxy-pac-url=<URL>
On Windows, please make sure to add -- before options. For example,
C:\Users\YourUser\AppData\Local\Programs\ssb-patchwork\Patchwork.exe -- --proxy-server=....
Start
npm
npm start
Yarn
yarn start
Sandbox
Some Linux users may see an error like this:
The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that node_modules/electron/dist/chrome-sandbox is owned by root and has mode 4755.
You have three options, pick the one that you think sucks the least:
- Change your kernel settings:
sudo sysctl kernel.unprivileged_userns_clone=1 - Follow the instructions and change the file's owner to root
sudo chown root node_modules/electron/dist/chrome-sandboxsudo chmod 4755 node_modules/electron/dist/chrome-sandbox
- Disable the sandbox with either:
npm start -- --no-sandbox, oryarn start -- --no-sandbox
See also:
- https://github.com/electron/electron/issues/17972
- https://github.com/electron-userland/electron-builder/issues/3872
AppImage
Note that the chown and chmod solution doesn't work with AppImages, but you can launch the AppImage with the --no-sandbox flag appended to the command.
You can permanently patch the AppImage to add --no-sandbox, but that change is experimental and requires some extra steps.