-
Notifications
You must be signed in to change notification settings - Fork 27
Troubleshooting Dev Environment
Here are some common problems we've encountered while setting up the dev environment along with potential solutions. We've ordered this list roughly based on when you might observe the problem in the setup process.
You can always ask questions in Slack #interns. We are here to help!
| City ID | Database User |
|---|---|
| seattle-wa | sidewalk_seattle |
| columbus-oh | sidewalk_columbus |
| cdmx | sidewalk_cdmx |
| spgg | sidewalk_spgg |
| pittsburgh-pa | sidewalk_pittsburgh |
| newberg-or | sidewalk_newberg |
| washington-dc | sidewalk |
| chicago-il | sidewalk_chicago |
| amsterdam | sidewalk_amsterdam |
| la-piedad | sidewalk_la_piedad |
| oradell-nj | sidewalk_oradell |
| validation-study | sidewalk_validation |
| zurich | sidewalk_zurich |
| taipei | sidewalk_taipei |
| new-taipei-tw | sidewalk_new_taipei |
| keelung-tw | sidewalk_keelung |
| auckland | sidewalk_auckland |
| cuenca | sidewalk_cuenca |
| crowdstudy | sidewalk_crowdstudy |
| burnaby | sidewalk_burnaby |
| teaneck-nj | sidewalk_teaneck |
| walla-walla-wa | sidewalk_walla_walla |
| st-louis-mo | sidewalk_st_louis |
| la-ca | sidewalk_la |
| mendota-il | sidewalk_mendota |
| knox-oh | sidewalk_knox |
| kaohsiung-tw | sidewalk_kaohsiung |
| taichung-tw | sidewalk_taichung |
| cliffside-park-nj | sidewalk_cliffside_park |
| blackhawk-hills-il | sidewalk_blackhawk_hills |
| columbia-sc | sidewalk_columbia |
| west-chester-pa | sidewalk_west_chester |
| danville-il | sidewalk_danville |
| detroit-mi | sidewalk_detroit |
| hackensack-nj | sidewalk_hackensack |
| clifton-nj | sidewalk_clifton |
| maywood-nj | sidewalk_maywood |
| madison-wi | sidewalk_madison |
| tainan-nj | sidewalk_tainan |
| niagara-falls-nj | sidewalk_niagara_falls |
| chandigarh-india | sidewalk_chandigarh |
| vancouver-wa | sidewalk_vancouver |
| rancagua-chile | sidewalk_rancagua |
| santiago-chile | sidewalk_santiago |
If you see an error like:
pg_restore: while PROCESSING TOC:
pg_restore: from TOC entry 9; 2615 2200 SCHEMA public postgres
pg_restore: error: could not execute query: ERROR: schema "public" already exists
Command was: CREATE SCHEMA public;
This is actually the one error that you can simply ignore! :) It doesn't have any effect.
If you see an error like:
Execution exception[[NoSuchElementException: None.get]]
This is most likely because the data from the database is missing and you'd need to import the sql dump. The schema import that's a part of init script only sets the schema and does not import the data.
If it seems like commands that you run using make are just not working, first try reinstalling make. If the issue persists, one workaround has been to look at the Makefile and manually run each command that make is an alias for whenever you need to run something. For example, if you wanted to run make ssh target=web, you would instead run docker exec -it projectsidewalk-web /bin/bash (you can see where the comes from by looking at the Makefile).
If you are having trouble connecting to the database, one potential issue might be that your docker container for the database might not have the configs set correctly for listening addresses. ssh into the db container and edit the /var/lib/postgresql/data/postgresql.conf file, setting listen_addresses = '*'.
If you see an error like this on Windows:
gpg: keyserver receive failed: Server indicated a failure
your system is treating this warning as a fatal error and is not completing the build. To fix this, add this line to the Dockerfile at line 2:
ENV APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1
After restarting computer, you run > make dev but receive an error like this:
> make dev
projectsidewalk-db is up-to-date
Starting projectsidewalk-db ... done
ERROR: Cannot create container for service web: Conflict. The container name "/projectsidewalk-web" is already in use by container "abeedfd010f3bbf9e03d9725b69ab9560b796e9b7e48bef8ff656243fb40a494". You have to remove (or rename) that container to be able to reuse that name.
make: *** [docker-run] Error 1
What probably happened is that your computer was not shut down correctly, so the web container was not closed correctly. To fix, you can just remove that docker container: docker container rm /projectsidewalk-web.
If you are using WSL with Windows, trying running wsl --shutdown in the command prompt. Docker should ask if you want to restart WSL. Click restart. Otherwise, just restart Docker manually and connect again to the WSL Distribution.
If you encounter an error with the Docker-Compose command on Mac, you may need to recreate the symlink.
- Review the documentation - (https://docs.docker.com/compose/install/) - in the installation scenarios to create a new symlink.
- Recreate the symlink using the following commands found in the documentation:
Note: This is a temporary solution.
sudo rm /usr/local/bin/docker-compose` sudo ln -s /Applications/Docker.app/Contents/Resources/cli-plugins/docker-compose /usr/local/bin/docker-compose`
If you encounter docker-compose: No such file or directory, you need to update the Make file to use docker compose rather than docker-compose (the latter is deprecated). Newer versions of Docker Desktop use docker compose (without the hyphen) instead of docker-compose. To fix this, open up Makefile and change all docker-compose instances to docker compose
Full error:
jonfroehlich:~$make dev
make: docker-compose: No such file or directory
make: *** [docker-up-db] Error 1
value transactionally is not a member of slick.dbio.DBIOAction[Seq[Int],slick.dbio.NoStream,slick.dbio.Effect.All]
If you see something like this, the first thing to check is if you added the this import statement:
import models.utils.MyPostgresProfile.api._
Sometimes you'll see an error like the one above while writing somewhat complex queries using the Slick library. I've often found that the error message is somewhat misleading, and there are two different things that have helped before:
- Wrapping all your queries in
.transactionally - The above usually works, but one time it didn't and it ended up working when I used
DBIO.seq().andThen()