th: Add SETUP instructions
parent
5ae84e35c1
commit
a5da6333a6
|
@ -0,0 +1,78 @@
|
|||
# Setting up a dev environment
|
||||
|
||||
## Assumptions
|
||||
|
||||
You have a package manager, and your system is systemd-based.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
## Nodejs
|
||||
|
||||
Install nodejs via your package manager. We used v19.1.0 for this setup.
|
||||
|
||||
## Ruby
|
||||
|
||||
Install ruby via your package manager of choice.
|
||||
|
||||
## Ruby Extras
|
||||
|
||||
Your distro may package `bundle` and `irb` in separate packages (Arch does). If they are, install them too.
|
||||
On Arch these are `ruby-bundler` and `ruby-irb`.
|
||||
|
||||
## PostGreSQL
|
||||
|
||||
Install postgres via your package manager.
|
||||
|
||||
Enable and start the default `postgresql.service`
|
||||
|
||||
## Redis
|
||||
|
||||
Install redis via your package manager.
|
||||
|
||||
Enable and start the default `redis.service`
|
||||
|
||||
## Pre-Work
|
||||
|
||||
In the following instructions, replace USER with your *nix user name.
|
||||
|
||||
1. Give the postgres user rwx on your home folder. We used `sudo setfacl -m u:postgres:rwx /home/USER`.
|
||||
2. Set up your user for postgres db creation with `sudo -u postgres createuser USER --createdb`.
|
||||
3. Navigate to the root of this repo
|
||||
4. Run `bundle config set --local path 'vendor/bundle'. This will store the all the ruby gems locally so that we can
|
||||
avoid interfering with system config.
|
||||
5. Run `bundle install`.
|
||||
6. Run `yarn install`.
|
||||
7. Run `bundle exec rake db:setup`. If this fails, you can use `bundle exec rake db:reset` to forcibly regenerate it.
|
||||
|
||||
## Getting it running
|
||||
|
||||
To make our lives easier, we'll use `foreman` to run the site, so use `gem install foreman` to get that going.
|
||||
|
||||
Then:
|
||||
1. Run `export RAILS\_ENV=development` and `export NODE\_ENV=development`.
|
||||
a. Put these in your shell's .rc, or a script you can source if you want to skip this step in the future.
|
||||
2. Run `bundle exec rake assets:precompile`.
|
||||
a. If this explodes, complaining about `Hash`, you'll need to `export NODE\_OPTIONS=--openssl-legacy-provider`. Same
|
||||
deal as the above.
|
||||
b. After doing this, you will need to `bundle exec rake assets:clobber` and then re-run
|
||||
`bundle exec rake assets:precompile`.
|
||||
3. Run `foreman start`
|
||||
|
||||
|
||||
# Updates/Troubleshooting
|
||||
|
||||
## RubyVM/DebugInspector Issues
|
||||
|
||||
Still unable to fix. Circumvent by removing `better\_errors` and `binding\_of\_caller` from Gemfile.
|
||||
Happy to troubleshoot with someone better with Ruby than us >_<'/.
|
||||
|
||||
## Webpack Issues
|
||||
If Webpack compalins about being unable to find some assets or locales:
|
||||
|
||||
1. yarn add webpack
|
||||
2. git restore package.json yarn.lock
|
||||
3. yarn install
|
||||
|
||||
Then re-run `foreman`. No. We have no idea why this worked.
|
||||
|
||||
If the above instructions don't work, please contact @Rin here, or @tammy@social.treehouse.systems.
|
Loading…
Reference in New Issue