質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

Q&A

解決済

1回答

6695閲覧

アセットプリコンパイル時のエラー(Yarn executable was not detected in the system.)

mofuko

総合スコア13

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

0グッド

0クリップ

投稿2020/08/26 06:55

前提

・Rails 5.2.4
・ruby 2.6.5
・Docker
・docker-compse.yml

EC2上でDockerをインストールし、自身のアプリをgit cloneしました。

実現させたいこと

アセットプリコンパイル時に出現するエラーの解消

現状

EC2上でアセットプリコンパイルを実行すると、

docker-compose run web rails assets:precompile RAILS_ENV=production

下記のエラーが出現します。

Yarn executable was not detected in the system. Download Yarn at https://yarnpkg.com/en/docs/install

確認したこと

・yarn がインストールされていることを確認

[myuser@ip-******* myapp]$ yarn -v 1.22.4

・Dockerイメージにyarnがインストールされていることを確認

FROM ruby:2.6.5 ENV TZ=Asia/Tokyo RUN apt-get update && apt-get install -y curl apt-transport-https wget && \ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \ echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list && \ apt-get install -y yarn # ここの記述でyarnをインストールしています RUN apt-get update -qq && apt-get install -y nodejs postgresql-client RUN curl -sL https://deb.nodesource.com/setup_10.x | bash - \ && apt-get install -y nodejs RUN gem install reverse_markdown redcarpet RUN mkdir /myapp RUN apt-get install -y vim WORKDIR /myapp COPY Gemfile /myapp/Gemfile COPY Gemfile.lock /myapp/Gemfile.lock RUN bundle install COPY . /myapp # Add a script to be executed every time the container starts. COPY entrypoint.sh /usr/bin/ RUN chmod +x /usr/bin/entrypoint.sh ENTRYPOINT ["entrypoint.sh"] EXPOSE 3000 # Start the main process. CMD ["rails", "server", "-b", "0.0.0.0"] # CMD ["rails", "server", "-b", "0.0.0.0", "RAILS_ENV=production"]

docker-compose buildした際もエラーなく実行でき、yarnもインストールされているのですが、
なぜインストールできていないという内容のエラーが出てしまうのか原因がわかりません。
この原因と対処法についてご教示いただけると幸いです。
宜しくお願い致します????‍♀️

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

docker-compose run web yarn -v

でコンテナ上にyarnがインストールされているか確認してください

投稿2020/08/26 09:01

naokit-dev

総合スコア424

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mofuko

2020/08/26 09:07

コンテナ上にyarnインストールできていなかったです????‍♀️
naokit-dev

2020/08/26 09:32

そもそもになってしまいますが、 EC2上のデプロイ環境にDockerを入れてコンテナ上でアプリを動かすということが あまり望ましくないかもしれません Dockerを挟むことで予期せぬトラブルが生じる可能性が増すから と認識しおりますが、私も実務経験がないので他の方に相談してみても良いかもしれません コンテナで構成するのであれば AWS ECSを利用するのかもしれません 私はEC2上に直接デプロイししました、何かの参考になれば [EC2、RDSを利用してRailsアプリをデプロイする [NGINX + puma + PostgreSQL + Rails 6] - Qiita](https://qiita.com/naokit-dev/items/808744a371a7154318ad)
mofuko

2020/08/26 09:36

ありがとうございます!参考にさせていただきます!????‍♀️ 助かります????
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問