docs/development/windows.md
Run this in PowerShell as Administrator to avoid long file path issues:
git config --system core.longpaths true
Open PowerShell as Administrator and run:
wsl --install
Restart if prompted.
Choose a non-root username and password in the Ubuntu setup.
Always launch Ubuntu for development work (not PowerShell or CMD).
Install the version specified in .ruby-version (e.g., 3.4.3) using rbenv:
# Base toolchain + rbenv
sudo apt update
sudo apt install -y \
rbenv ruby-build git \
build-essential autoconf bison libssl-dev zlib1g-dev \
libreadline-dev libyaml-dev libffi-dev libgmp-dev
# One-time shell initialisation (also add to ~/.bashrc or ~/.zshrc)
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
# Install Ruby
rbenv install 3.4.3
rbenv global 3.4.3
Install the version specified in .node-version (e.g., 20.17.0) using nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.bashrc
nvm install 20.17.0
nvm use 20.17.0
You donβt need to run MySQL locally β only its client libraries.
sudo apt install libmysqlclient-dev mysql-client
For Percona Toolkit:
sudo apt install percona-toolkit
Install the required dependencies:
sudo apt update && sudo apt install -y \
build-essential libxslt-dev libxml2-dev \
imagemagick libvips-dev ffmpeg pdftk
gem install bundler
bundle install
gem install dotenv
corepack enable
npm install
.env fileCopy the example and fill in secrets (if needed):
cp .env.example .env
LOCAL_DETACHED=true make local
In a new terminal:
sudo apt install libxslt-dev libxml2-dev
bin/rails db:prepare
bin/dev
Visit: https://gumroad.dev
Use:
[email protected]password000000See Users & authentication for other roles.
Run in Rails console:
DevTools.delete_all_indices_and_reindex_all
bin/rails c
bin/rake <task_name>
We use ESLint (JS) and RuboCop (Ruby). You can enable pre-commit hooks:
git config --local core.hooksPath .githooks
On Your connection is not private, type: thisisunsafe
To clear HSTS:
chrome://net-internals/#hstsgumroad.devAdd this entry to your /etc/hosts:
127.0.0.1 gumroad.dev
Edit the file:
sudo nano /etc/hosts
.ruby-version and .node-version.:8080 is occupied, kill the process:sudo lsof -i :8080
kill -9 <PID>
HELPER_WIDGET_SECRET=<any random string>