【Laravel】最新バージョンでないバージョンを指定してプロジェクトを作成する際に嵌った
laravelでプロジェクト作成したときに、色々なくてちょっと泣きそうになったので
もう泣かないようにメモ
プロジェクト作成
プロジェクト作成(今回は古いバージョンを指定するのでインストーラは使用しない)
[hoge@huga /]$cd /var/www/ [hoge@huga www]$ composer create-project "laravel/laravel=5.2.*" gorilla.jp . . . Your requirements could not be resolved to an installable set of packages. Problem 1 - phpunit/phpunit 5.7.9 requires ext-dom * -> the requested PHP extension dom is missing from your system.
エラー発生。
PHP extension domがなくてphpunit入らないとのこと
[hoge@huga www]$ yum list installed | grep 'php' php.x86_64 5.6.34-1.el7.remi @remi-php56 php-cli.x86_64 5.6.34-1.el7.remi @remi-php56 php-common.x86_64 5.6.34-1.el7.remi @remi-php56 php-fpm.x86_64 5.6.34-1.el7.remi @remi-php56 php-gd.x86_64 5.6.34-1.el7.remi @remi-php56 php-mbstring.x86_64 5.6.34-1.el7.remi @remi-php56 php-mysqlnd.x86_64 5.6.34-1.el7.remi @remi-php56 php-pdo.x86_64 5.6.34-1.el7.remi @remi-php56 php-pecl-jsonc.x86_64 1.3.10-2.el7.remi.5.6 @remi-php56 php-pecl-zip.x86_64 1.15.2-1.el7.remi.5.6 @remi-php56
php-xmlをインストール(php-domが内包されているらしい)
PHPUnit のインストールメモ
[hoge@huga www]# yum install php-xml エラー: パッケージ: php-xml-5.4.16-43.el7_4.1.x86_64 (updates) 要求: php-common(x86-64) = 5.4.16-43.el7_4.1 インストール: php-common-5.6.34-1.el7.remi.x86_64 (@remi-php56) php-common(x86-64) = 5.6.34-1.el7.remi 利用可能: php-common-5.4.16-42.el7.x86_64 (base) php-common(x86-64) = 5.4.16-42.el7 利用可能: php-common-5.4.16-43.el7_4.x86_64 (updates) php-common(x86-64) = 5.4.16-43.el7_4 利用可能: php-common-5.4.16-43.el7_4.1.x86_64 (updates) php-common(x86-64) = 5.4.16-43.el7_4.1 問題を回避するために --skip-broken を用いることができます。 これらを試行できます: rpm -Va --nofiles --nodigest
またしてもエラー。 phpがremiで入っているのにbaseのリポジトリで要求したからっぽい
こちらの記事( CentOSでのphp-xmlのインストールにはまる | 日々雑記)を見て再度試すも失敗
じゃあどれなら入るの?可能パッケージ確認
[hoge@huga www]# yum list available | grep php56 php56-php-xml.x86_64 5.6.34-1.el7.remi remi-safe
こいつが行けるらしい
[hoge@huga www]# yum install php56-php-xml.x86_65 . . . インストール: php56-php-xml.x86_64 0:5.6.34-1.el7.remi 依存性関連をインストールしました: audit-libs-python.x86_64 0:2.7.6-3.el7 checkpolicy.x86_64 0:2.5-4.el7 environment-modules.x86_64 0:3.2.10-10.el7 libcgroup.x86_64 0:0.41-13.el7 libsemanage-python.x86_64 0:2.5-8.el7 libxslt.x86_64 0:1.1.28-5.el7 php56-php-common.x86_64 0:5.6.34-1.el7.remi php56-php-pecl-jsonc.x86_64 0:1.3.10-1.el7.remi php56-php-pecl-zip.x86_64 0:1.15.2-1.el7.remi php56-runtime.x86_64 0:2.3-1.el7.remi policycoreutils-python.x86_64 0:2.5-17.1.el7 python-IPy.noarch 0:0.75-6.el7 scl-utils.x86_64 0:20130529-18.el7_4 setools-libs.x86_64 0:3.3.8-1.1.el7 tcl.x86_64 1:8.5.13-8.el7 完了しました!
やった~~🤩🤩🤩🤩🤩
もう一回create project
[hoge@huga www]$ composer create-project "laravel/laravel=5.2.*" gorilla.jp
同じエラー
CentOS6.8+PHP5.6にPHPUnitのインストールではまる | remember the milk
php-mcryptがいるらしい
[hoge@huga www]# yum --enablerepo=remi-php56 install php-mcrypt
またも同じエラー
[hoge@huga www]# yum --enablerepo=remi-php56 install php-xml Running transaction インストール中 : php-xml-5.6.34-1.el7.remi.x86_64 1/1 検証中 : php-xml-5.6.34-1.el7.remi.x86_64 1/1 インストール: php-xml.x86_64 0:5.6.34-1.el7.remi 完了しました!
気を取り直して再度create project
[hoge@huga www]$ composer create-project "laravel/laravel=5.2.*" gorilla.jp Installing laravel/laravel (v5.2.31) - Installing laravel/laravel (v5.2.31): Loading from cache Created project in gorilla.jp > php -r "copy('.env.example', '.env');" Loading composer repositories with package information Updating dependencies (including require-dev) . . . . . Generating autoload files > Illuminate\Foundation\ComposerScripts::postUpdate > php artisan optimize Generating optimized class loader > php artisan key:generate Application key [base64:XXXXXXXXXX/XXXXXXXXXXXXXXXXXXXXXXXXXX=] set successfully.
いけたっぽい?
storageとbootstrapの権限変更
[hoge@huga gorilla.jp]$ sudo chmod -R 777 bootstrap [hoge@huga gorilla.jp]$ sudo chmod -R 777 storage
ブラウザからアクセス(ルートディレクトリのserver.phpを参照する)
laravel5
できたーーーーーーー( ;∀;)( ;∀;)( ;∀;)🎉🎉🎉