X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/c93606387698109949990efd09e38f372349ff1a..ce4fbc63eca460222ad76e2280d435a0f86325ae:/INSTALL.md diff --git a/INSTALL.md b/INSTALL.md index 1215cc261..68b0d120e 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -48,9 +48,9 @@ For Fedora, you can install the minimum requirements with: ``` sudo dnf install ruby ruby-devel rubygem-rdoc rubygem-bundler rubygems \ - libxml2-devel js \ + libxml2-devel nodejs \ gcc gcc-c++ git \ - postgresql postgresql-server postgresql-contrib \ + postgresql postgresql-server postgresql-contrib libpq-devel \ perl-podlators ImageMagick libffi-devel gd-devel libarchive-devel \ bzip2-devel nodejs-yarn ``` @@ -90,7 +90,7 @@ Installing other dependencies: * Install Homebrew from https://brew.sh/ * Install the latest version of Ruby: `brew install ruby` -* Install other dependencies: `brew install imagemagick libxml2 gd yarn pngcrush optipng pngquant jhead jpegoptim gifsicle svgo` +* Install other dependencies: `brew install imagemagick libxml2 gd yarn pngcrush optipng pngquant jhead jpegoptim gifsicle svgo advancecomp` * Install Bundler: `gem install bundler` (you might need to `sudo gem install bundler` if you get an error about permissions - or see note below about [developer Ruby setup](#rbenv)) You will need to tell `bundler` that `libxml2` is installed in a Homebrew location. If it uses the system-installed one then you will get errors installing the `libxml-ruby` gem later on. @@ -102,8 +102,7 @@ bundle config build.libxml-ruby --with-xml2-config=/usr/local/opt/libxml2/bin/xm If you want to run the tests, you need `geckodriver` as well: ``` -brew tap homebrew/cask -brew cask install geckodriver +brew install geckodriver ``` Note that OS X does not have a /home directory by default, so if you are using the GPX functions, you will need to change the directories specified in config/application.yml. @@ -219,7 +218,7 @@ bundle exec rake db:migrate To ensure that everything is set up properly, you should now run: ``` -bundle exec rake test:db +bundle exec rails test:all ``` This test will take a few minutes, reporting tests run, assertions, and any errors. If you receive no errors, then your installation is successful. @@ -244,7 +243,7 @@ After installing this software, you may need to carry out some [configuration st # Installing compiled shared library database functions (optional) -There are special database functions required by a (little-used) API call, the migrations and diff replication. The former two are provided as *either* pure SQL functions or a compiled shared library. The SQL versions are installed as part of the recommended install procedure above and the shared library versions are recommended only if you are running a production server making a lot of `/changes` API calls or need the diff replication functionality. +There are special database functions required by a (little-used) API call, the migrations and diff replication. The former two are provided as *either* pure SQL functions or a compiled shared library. The SQL versions are installed as part of the recommended install procedure above and the shared library versions are recommended only if you are running a production server and need the diff replication functionality. If you aren't sure which you need, stick with the SQL versions. @@ -271,16 +270,13 @@ cd ../.. If you previously installed the SQL versions of these functions, we'll need to delete those before adding the new ones: ``` -psql -d openstreetmap -c "DROP FUNCTION IF EXISTS maptile_for_point" psql -d openstreetmap -c "DROP FUNCTION IF EXISTS tile_for_point" ``` Then we create the functions within each database. We're using `pwd` to substitute in the current working directory, since PostgreSQL needs the full path. ``` -psql -d openstreetmap -c "CREATE FUNCTION maptile_for_point(int8, int8, int4) RETURNS int4 AS '`pwd`/db/functions/libpgosm', 'maptile_for_point' LANGUAGE C STRICT" psql -d openstreetmap -c "CREATE FUNCTION tile_for_point(int4, int4) RETURNS int8 AS '`pwd`/db/functions/libpgosm', 'tile_for_point' LANGUAGE C STRICT" -psql -d openstreetmap -c "CREATE FUNCTION xid_to_int4(xid) RETURNS int4 AS '`pwd`/db/functions/libpgosm', 'xid_to_int4' LANGUAGE C STRICT" ``` # Ruby development install and versions (optional)