When using Rouge's Console lexer it expects all ignored line breaks to
be proceeded by a backslash. In this code block as we are switching to
Mysql's command line which doesn't need a backslash. This leads to the
lexer breaking and all the lines ending up in a confusing mess.
However the sql syntax actually works much better for this block
anyway.
This line here shows why what we were trying to do wouldn't work with
Rouge:
844c0eeddf/lib/rouge/lexers/console.rb (L106)
MariaDB cannot be started on Arch Linux before running a command to create the database files
See https://wiki.archlinux.org/index.php/MariaDB#Installation
It also appears that memcached is not started by default on Arch Linux,
so it has been added to the systemctl startup step.
This PR adds that step when setting up on Arch Linux
Accessing the MySQL manual without a specific version number will redirect to the latest version of the manual.
Remove non functional id from a comment in favor an explicit message
* Add missing OS dependency
Otherwise the `libxml-ruby` gem does not install in ubuntu and `bundle install`
errors out with the following error:
```
Fetching libxml-ruby 3.1.0
Installing libxml-ruby 3.1.0 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
current directory: /home/deivid/.rbenv/versions/2.6.4/lib/ruby/gems/2.6.0/gems/libxml-ruby-3.1.0/ext/libxml
/home/deivid/.rbenv/versions/2.6.4/bin/ruby -I /home/deivid/.rbenv/versions/2.6.4/lib/ruby/site_ruby/2.6.0 -r ./siteconf20190921-8482-194nrkq.rb extconf.rb
/home/deivid/.rbenv/versions/2.6.4/bin/ruby: warning: shebang line ending with \r may cause problems
checking for libxml/xmlversion.h in /opt/include/libxml2,/opt/local/include/libxml2,/usr/local/include/libxml2,/usr/include/libxml2... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers. Check the mkmf.log file for more details. You may
need configuration options.
Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/home/deivid/.rbenv/versions/2.6.4/bin/$(RUBY_BASE_NAME)
--with-xml2-config
--without-xml2-config
--with-xml2-dir
--without-xml2-dir
--with-xml2-include
--without-xml2-include=${xml2-dir}/include
--with-xml2-lib
--without-xml2-lib=${xml2-dir}/lib
extconf failure: need libxml2.
Install the library or try one of the following options to extconf.rb:
--with-xml2-config=/path/to/xml2-config
--with-xml2-dir=/path/to/libxml2
--with-xml2-lib=/path/to/libxml2/lib
--with-xml2-include=/path/to/libxml2/include
To see why this extension failed to compile, please check the mkmf.log which can be found here:
/home/deivid/.rbenv/versions/2.6.4/lib/ruby/gems/2.6.0/extensions/x86_64-linux/2.6.0-static/libxml-ruby-3.1.0/mkmf.log
extconf failed, exit code 1
Gem files will remain installed in /home/deivid/.rbenv/versions/2.6.4/lib/ruby/gems/2.6.0/gems/libxml-ruby-3.1.0 for inspection.
Results logged to /home/deivid/.rbenv/versions/2.6.4/lib/ruby/gems/2.6.0/extensions/x86_64-linux/2.6.0-static/libxml-ruby-3.1.0/gem_make.out
An error occurred while installing libxml-ruby (3.1.0), and Bundler cannot continue.
Make sure that `gem install libxml-ruby -v '3.1.0' --source 'https://rubygems.org/'` succeeds before bundling.
In Gemfile:
libxml-ruby
```
* Add missing libxml2 dependency to remaining platforms
I was getting some problems when running `bundle install` on a fresh
clone. It was due to some extension building errors that usually point
out to missing OS dependencies.
So I run "rg apt-get" hoping to find some suggestion to install
requirements for my OS. However, the result was misleading, because
dependencies are split across several lines, so I missed many of them.
I think a one liner is better and it's also slightly easier to
copy-paste.
* Move all the testing related stuff to the contributing guide and
redirect the reader to this guide once the installation process
is finished as running tests is the logical next step.
* Group documentation instructions by OS, not by gem
* It eases the installation process and lessen the need to scroll
through the guide
* There's still a list of all additional services required for each
of the gems above the instructions for each OS.
* Also update a bit the instructions
* Update some package names
* Add `yarn` to the package list for Arch Linux and FreeBSD
* Use `dnf` instead of `yum` for Fedora and CentOS
* Advise the user to use `brew bundle` on macOS to lessen the
maintenance burden for this OS and ease the process for the user.
[ci skip]
The development dependencies installation guides have the installation
instructions for FreeBSD in other sections so let's be consistent
regarding the dependencies for Active Storage setup.
Also fix a few typos.
Avoid the likes of:
```
Error:
ActiveStorage::RepresentationTest#test_representing_an_MP4_video:
Errno::ENOENT: No such file or directory - ffmpeg
test/models/representation_test.rb:27:in `block in <class:RepresentationTest>'
```
Also note additiona macOS requirements in ActiveStorage guide.
[ci skip]
This is a requirement when working on the JS portions of ASt. Using
npm instead of Yarn is a bad idea here since the lockfile is in Yarn's
format.
[ci skip]
Action Cable's test `test/subscription_adapter/redis_test.rb` fail if
Redis is not installed and running.
Following the guides `development_dependen there's no mention to this.
* Remove the libxml2 and libxslt part ; Nokogiri ships now with these
libraries bundled.
* Add the missing installation instructions for either Arch Linux,
FreeBSD or Mac OS X.
* Use the new `pkg install` syntax over `pkg_add -r` for FreeBSD 10+
users.
* Point to the up-to-date version of PostgreSQL as for the BSD port.
* Make the platform installation instructions order consistent
throughout the guide.
* Remove useless duplicated links to Homebrew's home.
[ci skip]