Od verze Ruby on Rails 6 je pro spuštění aplikace v prohlížeči nutné mít nastavený a spuštěný Webpacker, což je javascriptový kompiler. Pokud jej nemáte, server odmítne připojení. Tento článek je o tom, jak nainstalovat Node.js ve Fedoře a potažmo celý ekosystém nutný pro kompilaci Ruby on Rails aplikací a zobrazení v prohlížeči.
Pokud nemáte nainstalovaný Webpacker, zobrazí se v konzoli zhruba takovýto vzkaz:
<b>Webpacker configuration file not found /home/app/Desktop/helloworld/config/webpacker.yml. Please run rails webpacker:install Error: No such file or directory @ rb_sysopen - /home/app/Desktop/helloworld/config/webpacker.yml (</b><u style="text-decoration-style:single"><b>RuntimeError</b></u><b>)</b>
Nástroje, které je nutné nainstalovat (pokud je nemáte):
- Node.js – jako první, jestliže jej ještě nemáte, se musí nainstalovat Node.js, usnadňuje vývojářskou práci a slouží ke správě balíčků,
- Yarn – správce javascriptových balíčků,
- Webpacker – teprve nakonec se instaluje Webpacker, což je javascriptový compiler.
Krok 1: Instalace Node.js v Linuxu FEDORA
Zkoušel jsem několik způsobů, nakonec jako nejjednodušší, který mi fungoval, je pod rootem zadat v terminálu příkaz (číslo 12 udává verzi node.js):
$ dnf module install nodejs:12
Pokud máte jiný OS nebo distribuci Linuxu atd., podívejte se na seznam zde: https://nodejs.org/en/download/package-manager/
Krok 2: Instalace Yarn v Linuxu FEDORA
Než nainstalujete Webpacker, musíte v terminálu nainstalovat balíčkovací systém Yarn:
$ curl -o- -L https://yarnpkg.com/install.sh | bash
Že instalace proběhla v pořádku, můžeme zkontrolovat dotazem na verzi Yarnu:
$ yarn -version
Další možnosti: https://tecadmin.net/install-yarn-centos/
Pokud máte jiný OS nebo distribuci Linuxu atd, podívejte se sem: https://riptutorial.com/node-js/example/29249/yarn-installation
Krok 3: Instalace Webpacker
Máme yarn, už by to mělo fungovat, jestliže ne, zkusíme Webpacker nainstalovat znovu:
$ rails webpacker:install
Vše o Webpackeru: https://edgeguides.rubyonrails.org/webpacker.html
Krok 4: Nastartování Rails aplikace v prohlížeči
Pro ujištění, že všechny balíčky Yarnu jsou aktuální použijeme příkaz:
$ yarn install --check-files
Pak už stačí spustit server:
$ rails s
