LoginSignup
0
0

More than 1 year has passed since last update.

amazon linuxでcomposer updateが出来ないエラーの解決法

Last updated at Posted at 2022-05-28

composer installは出来たのにupdateが出来なくて数日間悩んだので、備忘録的に書いていきます。

環境
Windows10(Puttyコマンド使用)
PHP7.4.28
Apache2.4.53

前提
・Apache, PHP, composerのインストールが終わってる

問題と試したこと

composer update

と実行すると、はじめはこんな感じのエラーが。。

PHP Warning:  Module 'curl' already loaded in Unknown on line 0
Loading composer repositories with package information
Info from https://repo.packagist.org: #StandWithUkraine
Updating dependencies
Lock file operations: 0 installs, 10 updates, 0 removals
  - Upgrading psy/psysh (v0.11.4 => v0.11.5)
  - Upgrading symfony/console (v5.4.8 => v5.4.9)
  - Upgrading symfony/error-handler (v5.4.8 => v5.4.9)
  - Upgrading symfony/event-dispatcher (v5.4.3 => v5.4.9)
  - Upgrading symfony/http-foundation (v5.4.8 => v5.4.9)
  - Upgrading symfony/http-kernel (v5.4.8 => v5.4.9)
  - Upgrading symfony/mime (v5.4.8 => v5.4.9)
  - Upgrading symfony/string (v5.4.8 => v5.4.9)
  - Upgrading symfony/translation (v5.4.8 => v5.4.9)
  - Upgrading symfony/var-dumper (v5.4.8 => v5.4.9)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 114 installs, 0 updates, 0 removals

In Filesystem.php line 268:

  /var/www/html/プロジェクト名/vendor does not exist and could not be created.


update [--with WITH] [--prefer-source] [--prefer-dist] [--prefer-install PREFER-INSTALL] [--dry-run] [--dev] [--no-dev] [--lock] [--no-install] [--no-autoloader] [--no-suggest] [--no-progress] [-w|--with-dependencies] [-W|--with-all-dependencies] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--apcu-autoloader] [--apcu-autoloader-prefix APCU-AUTOLOADER-PREFIX] [--ignore-platform-req IGNORE-PLATFORM-REQ] [--ignore-platform-reqs] [--prefer-stable] [--prefer-lowest] [-i|--interactive] [--root-reqs] [--] [<packages>...]

最初にPHP Warningっていうのが出ていたので「うわっ!警告出てる!」と思って、そこのエラー文をそのままコピペして検索したら、curlを有効にするといいよ! みたいな情報がでてきました。

その情報の通りに

sudo vim /etc/php.ini

を実行して該当する行を探して、extension=curlを書き込んで、apacheを再起動してみました。
ダメだったので、extension=php_curl.dllにしたりしてみたんですが、それでも上手くいかず。。

解決法

ファイルの権限を書き換えたら上手くいきました。

700でファイルの読み込み・書き込み・実行を全部できるように変更して、composer updateを再実行っと。

sudo chmod 777 プロジェクト名

updateできました!!!
ただ、権限をこのままにしておくとコマンドを打ちまくってるうちに、書き換えない方がいいファイルを知らない間に書き換えちゃった…なんてことが起こりかねないので、後でファイルごとに権限を直しておくことをオススメします。

では今回はこれで^^

0
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
0
0