Help us understand the problem. What is going on with this article?

【Laravel】predisのインストール方法

Predisとは?

こちらのサイトによると
「Predisはオープンソースの Redis クライアントライブラリで、MITライセンスのもとで公開・開発されています。

Predis を利用するメリットとしては、PredisはピュアPHPのライブラリであり、特別な設定などが必要ないことがあります。 Composer などのパッケージ管理ソフトウェアでインストールすることができます。」

前提条件

PHP -v7.2
Laravel -v5.5
Amazon linux
mysql -v5.5

インストール方法

下記内容でpredisライブラリをインストールしようとした。

#プロジェクトのディレクトリに移動
$ cd /var/www/html/laravel-sample
#predisインストール
composer require predis/predis

そうするとcomposer require predis/predisで、下記エラーが発生

Installation failed, reverting ./composer.json to its original content.
The following exception is caused by a lack of memory or swap, or not having swap configured
Check https://getcomposer.org/doc/articles/troubleshooting.md#proc-open-fork-failed-errors for details

[ErrorException]                                   
proc_open(): fork failed - Cannot allocate memory

どうやらメモリが不足していてるらしい。

proc_open(): fork failed - Cannot allocate memory の解決法の記事によると下記コマンドでスワップファイル領域を確認とのこと。

$free -m
              total        used        free      shared  buff/cache   available
Mem:            983         109         707           7         166         725
Swap:             0           0           0

下記コマンドでスワップファイルの領域を作成。

#swap用のファイル作成
$ sudo /sbin/mkswap /var/swap.1
mkswap: /var/swap.1: パーミッション 0644 は安全な値ではありません。 0600 をお勧めします。
#パーミッションを600に変更
$sudo chmod 600 /var/swap.1
$sudo /sbin/mkswap /var/swap.1
$sudo /sbin/swapon /var/swap.1

準備を整えてpredisインストールコマンドを打つ。

$ composer require predis/predis

その際下記のような警告文が出てくるが、Laravelでcomposer updateするとPackage jakub-onderka/php-console-color is abandoned, you should avoid using it. Use php-parallel-lint/php-console-color instead.の記事によると警告解消に向けて対応中で、今の所放置していいそうだ。

Package jakub-onderka/php-console-color is abandoned, you should avoid using it. Use php-parallel-lint/php-console-color instead.
Package jakub-onderka/php-console-highlighter is abandoned, you should avoid using it. Use php-parallel-lint/php-console-highlighter instead.
Package jeremeamia/SuperClosure is abandoned, you should avoid using it. Use opis/closure instead.
Package mtdowling/cron-expression is abandoned, you should avoid using it. Use dragonmantank/cron-expression instead.
Package phpunit/php-token-stream is abandoned, you should avoid using it. No replacement was suggested.
Package phpunit/phpunit-mock-objects is abandoned, you should avoid using it. No replacement was suggested.

参考
https://weblabo.oscasierra.net/php-predis-1/
https://qiita.com/oitakazuki/items/9093d9ca4a341d2d6c4b
https://www.checksite.jp/ec2t2-add-swapfile/
https://getcomposer.org/doc/articles/troubleshooting.md#proc-open-fork-failed-errors
https://qiita.com/nasubi987/items/8c49bc3e5ec0df45f776

blackpeach7
駆け出しエンジニア向けに情報発信をしております。初心者向けにエラーで詰まった所や、まとめ記事をあげていきます。
https://benkyosite.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした