The readme contains some information on the simplest installation methods, but you can also install Patchwork by fetching from Git and building from source.
- Git
- Node.js (Active LTS)
- npm or Yarn
- autoconf and automake
- libtool
- x11 and libxkbfile (Linux only)
apt-get install \
automake \
g++ \
libgconf-2-4 \
libtool \
libxext-dev \
libxkbfile-dev \
libxtst-dev \
m4 \
make
dnf install \
libXext-devel \
libXtst-devel \
libxkbfile-devel \
gcc-c++ \
m4 \
automake \
libtool
brew install libtool automake
nix-shell -p nodejs autoconf automake libtool x11 xlibs.libxkbfile electron_8
git clone https://github.com/ssbc/patchwork
cd patchwork
With npm:
npm install
If you receive 'No native build found' errors, try instead:
npm install --build-from-source
With yarn:
yarn
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=....
npm start
yarn start
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-sandbox
sudo chmod 4755 node_modules/electron/dist/chrome-sandbox
- Disable the sandbox with either:
npm start -- --no-sandbox
, oryarn start -- --no-sandbox
See also:
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.