VirtualBox内のCentOS7で初めてrails s
を打ち込んだらエラーが発生。
rails s
で無事に立ち上がった後にも、ブラウザでの接続を間違えていました。
解決までの道のりをメモとして残します。
動作環境
- Windows10(ローカルOS)
- CentOS7(リモートOS)
- Oracle VM VirtualBox 6.1(仮想マシン)
- Rails 6.0.3
rails sをした時のエラー内容
/root/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/webpacker-4.2.2/lib/webpacker/configuration.rb:95:in `rescue in load': Webpacker configuration file not found /root/kaimono/config/webpacker.yml. Please run rails webpacker:install Error: No such file or directory @ rb_sysopen - /root/kaimono/config/webpacker.yml (RuntimeError)
Error: No such file or directory @ rb_sysopen - /root/kaimono/config/webpacker.yml (RuntimeError)
「Webpackerに関する構成ファイルが見つかりません」と・・・
Rails6.0以上ではWebpackが標準装備されているため、Webpackerやnode.jsがインストールされていないことが原因です。
【引用元(参考記事)】
【Railsエラー】Webpackerに関するエラーが出た時の解決方法を簡単に解説
解決まで(webpackerのインストールまで)
webpackerのインストール(失敗)
rails webpacker:install
ふむ、webpackerの前にNode.jsのインストールが必要そうです。
Node.jsのインストール
【参考記事】
CentOS 7.5 に Node.js 11 系の最新版を yum インストールする
Node.js 11の公式リポジトリをCentOSに追加
参考記事のとおりに実行
yum install https://rpm.nodesource.com/pub_11.x/el/7/x86_64/nodesource-release-el7-1.noarch.rpm
パッケージ情報の確認
yum info nodejs
公式リポジトリの追加をする前にバージョンを確認しようとするとエラーが発生しました。
Nodejsのインストール
yum install nodejs
バージョンの確認
Node.jsのバージョン
node --version
npmのバージョン
npm --version
webpackerのインストール(リトライ&失敗)
rails webpacker:install
yarnのインストール
yarnがインストールされているか確認
yarn -v
yarnのインストール
【参考記事】
yarnをインストールする
npm install -g yarn
yarnのバージョン確認
インストールされているか確認したときのコマンドと同じ
yarn -v
webpackerのインストール(3度目の正直)
rails webpacker:install
それなりに長い時間待って・・・
かわいらしいアイコンとともに成功です。
これでrails s
をすると無事にサーバーが立ち上がりました。
ブラウザでうまく表示されない
rails s
このコマンドでブラウザに、CentOSで使用しているアドレス(192.168.○○.○○)を指定して接続しても正常に表示されませんでした。
Macなどローカル開発している場合は特に問題ないのですが、他のサーバーにSSHで接続して開発している場合、接続することができません
【引用元(参考記事)】
RailsでポートとIPアドレスを指定する方法
なので、__-b__オプションでアドレスを指定します。
rails s -b 192.168.○○.○○
これでブラウザに192.168.○○.○○:3000
を入力したら、無事に表示されました。