Ryan Miller 1 month ago committed by GitHub
commit 1a01242697
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -14,17 +14,16 @@ You're most likely to have your pull request accepted if it addresses an existin
Of course we encourage community developers to work on ANY issue filed on our Github regardless of how its tagged, however if you pick up or create an issue without the “Good first issue” tag it would be best if you leave a comment on the issue so that the core team can give you any guidance required, especially around UI heavy features or issues which require cross platform integration.
## Developer Setup
## Developer Setup Tips
First, you'll need [Node.js](https://nodejs.org/) which matches our current version.
You can check [`.nvmrc` in the `clearnet` branch](https://github.com/oxen-io/session-desktop/blob/clearnet/.nvmrc) to see what the current version is. If you have [nvm](https://github.com/creationix/nvm)
you can just run `nvm use` in the project directory and it will switch to the project's
desired Node.js version.
## Node.js
If you are using Windows [nvm for windows](https://github.com/coreybutler/nvm-windows) is
still useful, but it doesn't support `.nvmrc` files. In this case you will need to `nvm install` the projects node version and `nvm use` the installed version
You'll need a [Node.js](https://nodejs.org/) version which matches our current version. You can check [`.nvmrc` in the `unstable` branch](https://github.com/oxen-io/session-desktop/blob/unstable/.nvmrc) to see what the current version is.
Then you need `git`, if you don't have that yet: https://git-scm.com/
If you use other node versions you might have or need a node version manager.
- [nvm](https://github.com/creationix/nvm) - you can run `nvm use` in the project directory and it will use the node version specified in `.nvmrc`.
- Some node version management tools can read from the `.nvmrc` file and automatically make the change. If you use [asdf](https://asdf-vm.com/) you can make a [config change](https://asdf-vm.com/guide/getting-started.html#using-existing-tool-version-files) to support the `.nvmrc` file.
## Platform Specific Instructions
@ -34,7 +33,89 @@ Then you need `git`, if you don't have that yet: https://git-scm.com/
### Windows
Building on Windows is a pain, but is possible see our CI/Windows build machine prerequisites here [Windows-2022 GH image](https://github.com/actions/runner-images/blob/main/images/win/Windows2022-Readme.md)
Building on Windows can be a bit tricky. You can set this up manually, but we recommend using [Chocolatey](https://chocolatey.org/) to install the necessary dependencies.
The following instructions will install the following:
- [Git](https://git-scm.com/download/win)
- [CMake](https://cmake.org/download/)
- [Visual Studio 2022](https://visualstudio.microsoft.com/downloads/)
- [Visual Studio C++ Build Tools](https://visualstudio.microsoft.com/visual-cpp-build-tools/)
- [Node.js](https://nodejs.org/en/download/)
- [Python](https://www.python.org/downloads/)
Setup instructions for Windows using Chocolatey:
- Open PowerShell as Administrator
- Install [Chocolatey](https://docs.chocolatey.org/en-us/choco/setup#installing-chocolatey-cli)
```PowerShell
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
```
- Install [Git](https://git-scm.com/download/win)
```shell
choco install git
```
- Install [CMake](https://cmake.org/download/)
CMake does not add itself to the system path by default, so you'll need specify the `ADD_CMAKE_TO_PATH` argument.
```shell
choco install cmake --installargs 'ADD_CMAKE_TO_PATH=System'
```
- Install [Visual Studio 2022](https://visualstudio.microsoft.com/downloads/)
```shell
choco install visualstudio2022community
```
- Install [Visual C++ build tools workload for Visual Studio 2022](https://community.chocolatey.org/packages/visualstudio2022-workload-vctools)
```shell
choco install visualstudio2022-workload-vctools
```
- Install [Node.js](https://nodejs.org/en/download/) 18.15.0
If you have multiple node version installed and/or use a node version manager you should install a Node how you normally would.
If you are using [nvm for windows](https://github.com/coreybutler/nvm-windows) you will need to run `nvm install <version>` and `nvm use <version>` as it doesn't support `.nvmrc` files.
```shell
choco install nodejs --version 18.15.0
```
- Install [Python](https://www.python.org/downloads/) 3.12.2
```shell
choco install python --version 3.12.2
```
- Install [setuptools](https://pypi.org/project/setuptools/)
Setuptools was removed in python 3.12, so you'll need to install it manually.
```shell
pip install setuptools
```
- Install [Yarn Classic](https://classic.yarnpkg.com/en/docs/install/#windows-stable)
```shell
npm install --global yarn
```
You'll likely encounter an issue with windows preventing you from running scripts when you run the `yarn` command, See: [Exclusion Policies](https:/go.microsoft.com/fwlink/?LinkID=135170). If you do, you can fix it by running the following command:
```PowerShell
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
```
### Linux

Loading…
Cancel
Save