LoginSignup
3
0

More than 3 years have passed since last update.

line-bot-sdkをインストールしたらsocketsがないって言われた

Posted at

環境・前提

筆者は素人です。
この記事は記録が目的です。
ただ、流れくらいは参考になって欲しい。

windows10homeにdocker-composeでLEMP環境を作り、Laravelのプロジェクトを作成。
LaravelでLINE Botを作りたいのでline-bot-sdkを入れたかった。

やったこと

dockerのコンテナで
$ composer require linecorp/line-bot-sdk 4.2.*
を実行。

エラーの内容

Problem 1
    - Installation request for linecorp/line-bot-sdk 4.2.* -> satisfiable by linecorp/line-bot-sdk[4.2.0].
    - linecorp/line-bot-sdk 4.2.0 requires ext-sockets * -> the requested PHP extension sockets is missing from your system.

要はext-socketsというやつがないからエラーになるっぽい。

解決策を調べた

ググったら2つのやり方が出てきた。

1つはphp.iniファイルにある
;extension=sockets
のコメントアウトを外す、というもの。
でも自分のphp.iniにはそもそも;extension=sockets自体がなかった。

2つ目はDockerfileの

RUN
  docker-php-ext-install

socketsを加えるというもの。

で、php -mコマンドを実行してインストールされているモジュールを確認したところ、
socketのモジュールがなかったので2つ目のやり方でいけると予想。

解決方法

2つ目のやり方でDockerfileに変更を加え、コンテナから出て
$docker-compose down
$docker-compose up -d --build
を実行。
これでDockerfileの再読み込みを行う。

結果

無事いけました!

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0