1
0
mirror of https://github.com/laurent22/joplin.git synced 2024-12-24 10:27:10 +02:00
joplin/BUILD.md
Laurent Cozic 110dc29bd4
Merge pull request #57 from mgroth0/patch-1
Add node-gyp dependency to instructions
2017-12-03 21:45:40 +00:00

1.6 KiB

General information

  • All the applications share the same library, which, for historical reasons, is in ReactNativeClient/lib. This library is copied to the relevant directories when builing each app.
  • The translations are built by running CliClient/build-translation.sh. For this reasons, it's generally better to get the CLI app to build first so that everything is setup correctly.
  • Note: building translations is no longer required to run the apps, so you can ignore all the below requirements about gettext.

macOS dependencies

 brew install yarn node xgettext
 npm install -g node-gyp
echo 'export PATH="/usr/local/opt/gettext/bin:$PATH"' >> ~/.bash_profile
source ~/.bash_profile

Linux and Windows dependencies

Building the Electron application

cd ElectronClient/app
rsync -a ../../ReactNativeClient/lib/ lib/
npm install
yarn dist

If there's an error while loading shared libraries: libgconf-2.so.4: cannot open shared object file: No such file or directory, run sudo apt-get install libgconf-2-4

That will create the executable file in the dist directory.

From /ElectronClient you can also run run.sh to run the app for testing.

Building the Mobile application

From /ReactNativeClient, run npm install, then react-native run-ios or react-native run-android.

Building the Terminal application

From /CliClient, run npm install then run run.sh. If you get an error about xgettext, comment out the command node build-translation.js --silent in build.sh