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

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

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

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

Amazon EC2

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

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

1回答

1812閲覧

bundle installが進まない。

dcg

総合スコア3

Ruby on Rails 6

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

Amazon EC2

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

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2022/07/28 11:47

AWSのEC2サーバー上でrailsアプリを起動させようとしています。

その中で、EC2にrailsのgemをインストールしようとして「bundle install」を打ったところ、イメージ説明
画像のように、「installing sassc 2.4.0 with native extensions」で止まってしまい、ここから30分以上経ってもインストールは進みませんでした。

エラーコードが出てるわけでもないので調べようがなくて、「bundle install 終わらない」等で調べても有効な手立てはありませんでした。これは何が原因でどのような対処が考えられるでしょうか?

どなたか助言をお願いいたします。

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

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

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

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

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

maisumakun

2022/07/28 12:26

> エラーコードが出てるわけでもないので調べようがなくて 同じマシンに別なコンソールで繋いでtopを叩けば、どんなプロセスが走っているかは確認できます。
yu_1985

2022/07/28 16:24

EC2インスタンスのスペック不足じゃないですか? インスタンスタイプは何でしょうか。
dcg

2022/07/29 13:00

インスタンスタイプはt2.microでした。
dcg

2022/07/29 13:04

topを叩くとは、EC2にログインして、EC2上でtopというコマンドを打つという意味でしょうか? 試してみます。
dcg

2022/07/29 13:23

下記の方法を参考にメモリを強化しましたが、ダメでした。 スワップファイルでメモリを強化 無料で使っているEC2インスタンスのメモリ不足でgemをインストールする際にエラーが発生することがあります。 そんな時、EC2ではスワップ領域を広げることでメモリを強化できます。 そのために必要なのがスワップファイルです 補足説明 スワップファイルとはメモリを一時的に保管しておくファイルです。 決められた容量のメモリをオーバーした際に、あまり使われてない分をスワップファイルに保存することでメモリの容量を一時的に増やすことができます。 現在のスワップ領域を確認してみましょう。 EC2ターミナル | スワップ領域の確認 [ec2-user@ip-172-31-47-9 ~]$ grep Swap /proc/meminfo SwapCached: 0 kB SwapTotal: 0 kB SwapFree: 0 kB このように最初は0kBとなっています。 これからスワップファイルを使って、スワップ領域を広げていきます。 インスタンスの使用可能なメモリより小さくする必要があるので、今回は512MiBのスワップファイルを作成します。 デフォルトだとスワップファイルは用意されていないので、下記のコマンドで作成し、設定をしていきます。 ※参照:AWS公式 EC2ターミナル | スワップファイルの編集 # rootに移動 [ec2-user@ip-172-31-47-9 ~]$ cd ~ # 512MBのスワップファイルを作成 [ec2-user@ip-172-31-47-9 ~]$ sudo dd if=/dev/zero of=/swapfile bs=1M count=512 # スワップファイルの読み書きのアクセス許可 [ec2-user@ip-172-31-47-9 ~]$ sudo chmod 600 /swapfile # Linuxスワップ領域のセットアップ [ec2-user@ip-172-31-47-9 ~]$ sudo mkswap /swapfile スワップ空間バージョン 1 を設定します。サイズ = 512 MiB (536866816 バイト) ラベルはありません, UUID=23c3156a-72b7-450f-955e-dcd08a5c79f6 # スワップ領域にスワップファイルを追加 [ec2-user@ip-172-31-47-9 ~]$ sudo swapon /swapfile # 正常に完了したことを確認 [ec2-user@ip-172-31-47-9 ~]$ sudo swapon -s ファイル名 タイプ サイズ 使用済み 優先順位 /swapfile file 524284 0 -2 次に/etc/fstabファイルを編集して、起動時にスワップファイルを有効にします。 EC2ターミナル | スワップファイルの編集 [ec2-user@ip-172-31-47-9 ~]$ sudo vi /etc/fstab ファイルが開くのでiを押してINSERTモードにします。 ファイルの末尾に新しい行を追加して下記のコードを追記します。 /etc/fstab | fstabファイルの編集 # UUID=7b355c6b-f82b-4810-94b9-4f3af651f629 / xfs defaults,noatime 1 1 /swapfile swap swap defaults 0 0 その後、escキーを押してINSERTモードから抜け、:wqを入力して編集モードから抜けましょう。 ではスワップ領域が広がったか、確認してみましょう。 EC2ターミナル | スワップ領域の確認 [ec2-user@ip-172-31-47-9 ~]$ grep Swap /proc/meminfo SwapCached: 0 kB SwapTotal: 524284 kB SwapFree: 524284 kB このように広がっているのが確認できました。 確認ができたらgemをインストールできるかどうか試してみてください。
guest

回答1

0

ベストアンサー

t2.microのメモリ(1GB)でbundle installするとメモリ不足で途中でフリーズすることがままあります。
スワップ領域を作成するか、それがわからなければmicroではなくsmallぐらいにしましょう。

投稿2022/07/29 13:18

yu_1985

総合スコア7447

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

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

dcg

2022/07/29 13:26

今まさにスワップ領域を作ってメモリを強化したら、正常にインストールできました。 一週間以上悩んでたので本当に助かりました!ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問