GitLab10.4から11.4にアップデートする
10.4から11.4にいきなりアップデートはできない。
yumでアップデートしようとすると、まず10.8にアップデートしろと言われるのである。
言われた通りに10.8にアップデートを試みる。
とりあえずインストールできるバージョンを見てみる。
インストールできるバージョンの確認
[root@localhost ~]# yum list --showduplicates gitlab-ce 省略 gitlab-ce.x86_64 10.7.7-ce.0.el7 gitlab_gitlab-ce gitlab-ce.x86_64 10.8.0-ce.0.el7 gitlab_gitlab-ce gitlab-ce.x86_64 10.8.1-ce.0.el7 gitlab_gitlab-ce gitlab-ce.x86_64 10.8.2-ce.0.el7 gitlab_gitlab-ce gitlab-ce.x86_64 10.8.3-ce.0.el7 gitlab_gitlab-ce gitlab-ce.x86_64 10.8.4-ce.0.el7 gitlab_gitlab-ce gitlab-ce.x86_64 10.8.5-ce.0.el7 gitlab_gitlab-ce gitlab-ce.x86_64 10.8.6-ce.0.el7 gitlab_gitlab-ce gitlab-ce.x86_64 10.8.7-ce.0.el7 gitlab_gitlab-ce gitlab-ce.x86_64 11.0.0-ce.0.el7 gitlab_gitlab-ce gitlab-ce.x86_64 11.0.1-ce.0.el7 gitlab_gitlab-ce 省略
10.8.7をインストールする。
[root@localhost ~]# yum install gitlab-ce-10.8.7-ce.0.el7 省略 * mattermost['email_send_email_notifications'] has been deprecated since 10.2 and removed in 11.0. * mattermost['email_smtp_auth'] has been deprecated since 10.2 and removed in 11.0. * mattermost['email_smtp_username'] has been deprecated since 10.2 and removed in 11.0. * mattermost['email_smtp_password'] has been deprecated since 10.2 and removed in 11.0. * mattermost['email_smtp_server'] has been deprecated since 10.2 and removed in 11.0. * mattermost['email_smtp_port'] has been deprecated since 10.2 and removed in 11.0. * mattermost['email_feedback_name'] has been deprecated since 10.2 and removed in 11.0. * mattermost['email_feedback_email'] has been deprecated since 10.2 and removed in 11.0. Deprecations found. Please correct them and try again. error: %pre(gitlab-ce-10.8.7-ce.0.el7.x86_64) scriptlet failed, exit status 1 Error in PREIN scriptlet in rpm package gitlab-ce-10.8.7-ce.0.el7.x86_64 gitlab-ce-10.4.0-ce.0.el7.x86_64 was supposed to be removed but is not! 検証中 : gitlab-ce-10.4.0-ce.0.el7.x86_64 1/2 検証中 : gitlab-ce-10.8.7-ce.0.el7.x86_64 2/2 失敗: gitlab-ce.x86_64 0:10.4.0-ce.0.el7 gitlab-ce.x86_64 0:10.8.7-ce.0.el7 完了しました! [root@localhost ~]#
mattermostの設定で非推奨のものがあるから直せとのこと。
/etc/gitlab/gitlab.rbの該当部分をコメントアウトしてreconfigureする。
gitlab.rbの修正
[root@localhost ~]# gitlab-ctl reconfigure Deprecations: * Mattermost Detected deprecated Mattermost settings. Starting with GitLab 11.0, these settings are no longer supported. Check http://docs.gitlab.com/omnibus/gitlab-mattermost/#upgrading-gitlab-mattermost-from-versions-prior-to-11-0 for details. * mattermost['email_enable_sign_up_with_email'] * mattermost['email_enable_sign_in_with_email'] * mattermost['email_enable_sign_in_with_username'] * mattermost['email_connection_security'] * mattermost['email_skip_server_certificate_verification'] gitlab Reconfigured!
非推奨項目が見つかったよと。
なぜ、まとめて教えてくれないのか。
再度、gitlab.rbの該当箇所をコメントアウトしてreconfigureする。
[root@localhost ~]# gitlab-ctl reconfigure 省略 Running handlers: Running handlers complete Chef Client finished, 5/585 resources updated in 07 seconds gitlab Reconfigured!
うまくいったみたいだ。
再度10.8のインストール。
[root@localhost ~]# yum install gitlab-ce-10.8.7-ce.0.el7 省略 _______ __ __ __ / ____(_) /_/ / ____ _/ /_ / / __/ / __/ / / __ `/ __ \ / /_/ / / /_/ /___/ /_/ / /_/ / \____/_/\__/_____/\__,_/_.___/ Upgrade complete! If your GitLab server is misbehaving try running sudo gitlab-ctl restart before anything else. If you need to roll back to the previous version you can use the database backup made during the upgrade (scroll up for the filename). 検証中 : gitlab-ce-10.8.7-ce.0.el7.x86_64 1/2 検証中 : gitlab-ce-10.4.0-ce.0.el7.x86_64 2/2 更新: gitlab-ce.x86_64 0:10.8.7-ce.0.el7 完了しました!
無事に10.8.7にアップデートできたので、
続いて11.4.7にアップデートする。
11.4のインストール
[root@localhost ~]# yum install gitlab-ce-11.4.7-ce.0.el7 省略 _______ __ __ __ / ____(_) /_/ / ____ _/ /_ / / __/ / __/ / / __ `/ __ \ / /_/ / / /_/ /___/ /_/ / /_/ / \____/_/\__/_____/\__,_/_.___/ Upgrade complete! If your GitLab server is misbehaving try running sudo gitlab-ctl restart before anything else. If you need to roll back to the previous version you can use the database backup made during the upgrade (scroll up for the filename). 検証中 : gitlab-ce-11.4.7-ce.0.el7.x86_64 1/2 検証中 : gitlab-ce-10.8.7-ce.0.el7.x86_64 2/2 更新: gitlab-ce.x86_64 0:11.4.7-ce.0.el7 完了しました!
11.4でマージリクエスト画面でファイルツリーが見れるようになったらしい。
これからは毎月こまめにアップデートしよう。
Atomを統合開発環境にするAtom-IDE
エディタはAtomを使っているのだが、Atom-IDEを使ってPHPの統合開発環境化してみようと思う。
■試した環境
Windows7 64bit
Atom 1.25
基本的に公式(https://ide.atom.io/)通りにやればうまくはず。
対応言語はまだこれだけの模様。
TypeScript & JavaScript | ide-typescript |
Flow | ide-flowtype |
C# | ide-csharp |
Java | ide-java (Java 8 runtime required) |
PHP | ide-php (PHP 7 runtime required) |
1. Atomのアップデート
バージョン1.21以上を使用することが強く推奨されているのでとりあえずアップデートしよう。
blog.atom.io
ヘルプ→Atomについて→CheckNow、でアップデートする。
4. PHPのインストール
ローカルにPHPがないと動かないのでインストールしておく。
PHPの公式からダウンロード。
http://php.net/
Downloads → Windows downloadsのリンクを辿って自分の環境に適したzipファイルをダウンロードする。
自分の場合は64bitPCなのでVC14 x64 Thread Safeをダウンロードした。
ダウンロードしたzipを展開して、名前をphp-7.1.15に変更して、C:¥の直下へ移動。
Atom側でPHPのパスを指定してあげないといけないので、
先ほどダウンロードしたide-phpの設定画面の「PHP Path」にパスを入力してあげれば完了。
機能
こんなことができるらしいです。
便利そうなものから使い方のわからないものまで。
使い込んで効率よくコーディングをしよう!
Autocomplete
入力補完機能
Diagnostics
エラーの診断
Find all references
カーソルを合わせてFind referencesすると検索してくれる。
Formatting
コードのフォーマット機能
Go to definition
Ctrl+クリックで定義へ移動
Hover
カーソルを合わせると関連情報を表示してくれる?
Outline view
Ctrl+Shift+Pでoutlineのtoggleをすると右側にクラスや関数などが一覧になってクリックすると移動できる。
Reference highlighting
よくわからず。
GitLabRunnerを登録してGitLabCIを動かしてみる
とりあえずGitLabCIを動かせるようにする。
こんなかんじで進める。
- GitLabRunnerのインストール
- GitLabRunnerの登録
- .gitlab-ci.ymlの作成
- CIを動かしてみる
CentOS7で実行。
1. GitLabRunnerのインストール
公式を見れば簡単。
docs.gitlab.com
・リポジトリの追加
# curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh | sudo bash
・yumでインストール
# yum install gitlab-runner
これで完了。
インストールまではすごく簡単。
2. GitLabRunnerの登録
続いて、Runnerを登録する。
これも公式ドキュメントを参考に進める。
docs.gitlab.com
登録にあたってGitLabが発行するtokenが必要になるので調べておく。
そのプロジェクトのSettings → CI/CD → Runners settings
赤枠で囲われたところをメモっておく。
では実際に登録してみる。
# gitlab-runner register Running in system-mode. Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/): http://hogepiyo.com/ //GitLabのURLを入力 Please enter the gitlab-ci token for this runner: AssukefCjhvHwAJXF3C7 //先ほど調べたtokenを入力 Please enter the gitlab-ci description for this runner: [localhost.localdomain]: shell-runner //Runnerの詳細。後からも編集可能。 Please enter the gitlab-ci tags for this runner (comma separated): shell //このRunnerに付けるタグ。後からも編集可能。 Whether to run untagged builds [true/false]: [false]: //タグのないジョブを実行するかどうか。デフォルトfalse。後からも編集可能。 Whether to lock the Runner to current project [true/false]: [true]: //他のプロジェクトからこのRunnerを使えないようにするかどうか。デフォルトtrue。後からも編集可能。 Registering runner... succeeded runner=AssukefC Please enter the executor: docker+machine, docker-ssh+machine, kubernetes, docker-ssh, parallels, shell, virtualbox, docker, ssh: shell //ビルドの実行方法 Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!
おっけー。
登録完了。
最初にtokenを確認したページに行くとRunnerが登録されているのが確認できる。
Settings → CI/CD → Runners settings
3. .gitlab-ci.ymlの作成
ビルドやテストの手順は.gitlab-ci.ymlに記載して、
そのプロジェクトのルートディレクトリに配置する。
今回はCIを試しに動かせるようになることが目的なので簡単な内容でテストする。
GitLabのエディタから.gitlab-ci.ymlファイルを作成してみる。
プロジェクトのRepository → New fileで。
stages: - runner-test ipaddress_job: stage: runner-test script: - ip a tags: - shell only: - master
これは、
runner-testというステージを定義して、
ipaddress_jobというジョブを定義して、
shellというタグが付いたランナーを対象にして、
ブランチはmasterだけを対象として、
RunnerサーバーのIPアドレスを表示する、ということを行っている。
これをそのままGitLabのエディタからコミットするとCIが動き出す。
4. CIを動かしてみる
コミットした時点ですでにCIが動いているはずなので確認してみる。
そのプロジェクトのCI/CD → Pipelines
成功してたら緑でpassedってなってる模様。
失敗してたらfailed,
なんらかの理由で止まってたらpendingとかになっている。
最初、「タグなしのジョブは実行しない」でRunnerの設定をしていたためここがずっとpendingで止まってて小一時間ハマった。
そのpassedをクリックして中に入るとipaddress_jobというジョブがあるので、
そこをクリックすると黒い画面の中にIPアドレスが表示されている。
たしかにgitlab-ci.ymlに記載したip aが実行されている。
一通りの流れは成功した。
あとは実践に近い形に持っていけるか。
ビルドして、テストして、デプロイして・・・。
docker上でいろいろやるらしいのだがdockerの知識がなくてわからん。
そういえばいつの間にかGitLabの書籍が出てた模様。
試しに買って勉強してみるかなー。
でもdockerもやらないとなー。
GitLab実践ガイド (impress top gear)
- 作者: 北山晋吾
- 出版社/メーカー: インプレス
- 発売日: 2018/02/01
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る
ポモドーロテクニックに再入門してみた
過去にも1,2回やってみたポモドーロテクニック。
そのときは、あんまりしっくりこなくてすぐに使うのを辞めた。
今回SOFT SKILLS読んでてポモドーロに関する話が書いてあって再度やってみようと決めた。
- 作者: ジョン・ソンメズ
- 出版社/メーカー: 日経BP社
- 発売日: 2016/06/02
- メディア: Kindle版
- この商品を含むブログ (6件) を見る
ポモドーロテクニックとは
・25分間を1つの区切りに仕事に取り掛かる。
・25分たったら5分間の休憩を入れる。
ここまでが1ポモドーロ。
・4ポモドーロ、つまり2時間たったら15分くらいの長めの休憩を取る。
以下、繰り返し。
この25分間は1つのタスクだけに集中してやる。
他のことには目もくれない。
電話もメールもチャットも無視して集中してタスクに取り掛かる。
早めに終わってしまったら次のタスクに取り掛かるのではなく、終わったタスクの見直しなどに時間を使うのがセオリーらしい。
いかに連続した時間を確保できるか
前回ポモドーロテクニックを断念した理由が仕事中の割り込みの多さである。
・電話が鳴って途中で中断
・メール、チャットの通知に気を取られていつの間にか中断
・隣の席の人が話しかけてきて中断(おしゃべりが好きな人が隣の席にいるのである)
ただ今回SOFT SKILLSを読んで同じようなことが書いてあった。
電話・メール・チャットは決まった時間に処理するようにしているらしい。
たしかにその都度対応するのは集中が途切れて明らかに効率が悪い。
以前からいかに長い時間連続した時間を確保できるかが重要だと思っていた。
1ポモドーロ後にまとめてチェックしてあとで対応する、というのでも良さそうだ(30分くらい待てるだろう)。
直接話しかけられた場合はどうしよう。
隣におしゃべりな人が座っている。
この人がなかなか曲者で情緒不安定かつかまってちゃんなのだ。
集中を断絶させられるとしたらこの人が最も有力候補だ。
(自分自身気が弱いからあまり強く言えないし。)
人をうまくあしらう方法を身に着けねば・・・。
ポモドーロテクニックの本当の力
SOFT SKILLSの中に大事なことが書いてあったので引用しよう。
ポモドーロテクニックの本当の力は、作業量を見積もり トラッキングするためのツールとして使った時に現れる。
1日に実行したポモドーロの数を数え、1日に何個のポモドーロを達成するかという目標を設定する。
すると突然、一日にどれくらい一生懸命仕事をしたか、自分の本当の能力はどれだけかを正確に測れるようになる。
単に集中を維持するためだけでなく、毎日、毎週の作業内容を計画し、自分がどの部分に最も多くの時間を費やしているかを把握し、出来る限り生産性を高めようというモチベーションを生むためにも ポモドーロテクニックを活用できるようになったのである。
25分間集中して仕事に取り掛かるということももちろん大事だが、
今日は何ポモドーロやるぞと目標を設定して、それを計測するという使い方。
自分がどの程度仕事をこなしたかのトラッキングツールになるというのだ。
優先順位をつけ、仕事にポモドーロを割り振り、集中する。
やりたいと思ったことができていないのに、目標のポモドーロ数を確保できた場合、問題は十分に仕事ができていないことではなく、優先順位付けが正しくないことだとわかる。
あるあるすぎて怖い。
やろうとしていたことができていないのに、仕事をこなした満足感だけある。
人は簡単な作業から手を付けがちだ。
自分がやろうとしている難しいこと面倒くさいことを後回しにしてしまう。
そこをぐっとこらえてやるべきことを集中してやる。
タスク管理とポモドーロ
最後に、SOFT SKILLSの著者はkanbanflowというのを使っているらしい。
kanbanflow.com
Trelloのシンプル版といったところか。
ただ、タスク管理とポモドーロが一緒になっているので、
個人的にはkanbanflowの方が使いやすそうだ。
使ってみてしっくり来たら別の記事にまとめてみよう。
SOFT SKILLS ソフトウェア開発者の人生マニュアルを読んだ
家の本棚に積まれているうちの一冊、SOFT SKILLSをようやく読み始めました。
- 作者: ジョン・ソンメズ
- 出版社/メーカー: 日経BP社
- 発売日: 2016/06/02
- メディア: Kindle版
- この商品を含むブログ (6件) を見る
ソフトウェア開発者の人生マニュアルということで個人的には非常に気になっていた本。
途中まで読んだ感想としては、エンジニアとしての自己啓発、ライフハックみたいな本。
おもしろいです。
全7部構成の71章まである読み応えのある本。
ためになったところ心に残ったところを記録しておこう。
第2章の「事業者のマインドセット」という項目
自分のキャリアを事業として考えろ、とあった。
マインドセットを雇用形態で縛られた奴隷から、自分自身の事業を経営している事業者に切り替える。
また、キャリアを積極的にマネジメントする、というところが自分には抜けていた考え方。
自分の人生にとって何が重要なのかを考えて日々の取捨選択をするようにしよう。
第3章の「目標設定」について。
まずは、大きな目標を描き、それに到達するために小さな目標を設ける。
ずっと遠くにあるかもしれないものを明確に定義するのは難しいので、大きな目標はあまり細かく決まらないことが多い。
しかし、それでいい。
遠くにある大きな目標を決めるときには、細かいところまで決めなくてOKだ。
自分が将来どうなりたいか、どうしていたいかの目標は大事だ。
将来のことを考えるのは不安だし面倒くさいが、まずはそこをしっかり考える必要がある。
第4章の「放っといてくれ、私はただコードが書きたいだけなんだ!」の部分。
ソフトウェア開発者に人とのコミュニケーションが不要なわけではない。
ほかの職種と同様に人とのコミュニケーションが発生する。
ひとりきりでうまく仕事を進めていくことはなかなか難しい。
第9章「責任の重い仕事が回ってくるようにするためにできること」
・みんなに無視されているものの、自分なら管理できるというプロジェクトを引き受けること
・チームの新メンバーが仕事のペースについていけるように支援すること
・プロセスのドキュメントを書き、そのドキュメントをメンテナンスし続けていくこと
・ほかに誰もやりたがらないものの、自分が引き受ければ楽にしたり自動化したりできるものを探すこと。
責任の重い仕事はつらい。
つらいし失敗したときのことを考えると及び腰になるが、給与をあげていくためには必要だ。
幸い、いまの会社は比較的失敗に寛容な気がする。
今のうちにいろんなことに挑戦しよう。
第26章「ばかにされるのを恐れるな」
自分のマーケティングを本当に成功させたいと思うなら、
私たちの大半が持っている大きな恐怖を克服しなければならない。
それは馬鹿みたいに見えることに対する恐怖だ。
人は人、自分は自分。
世界中の人が自分の考えに同意してくれることなんてありえない。
批判を恐れて黙りこんでしまうことはよくない。
ただ、わかっていてもやはり批判されること、馬鹿だと思われることは怖い。
対面だとなおさらだ。
こんなこと言ったら馬鹿だと思われるんじゃないか?
いい歳して何言ってんだ?と思われるかもしれない。
いまようやく40章まできたところ。
この本は自分のキャリアに対してどう考えるべきか、
学ぶことの大切さ、仕事の生産性の高め方、お金に対する考え方(大事)、健康に関して、
とまさに人生のマニュアル本みたいな感じ。
副題の「ソフトウェア開発者の人生マニュアル」に嘘偽りなし。
もっとはやく読んでおけばよかった~。
- 作者: ジョン・ソンメズ
- 出版社/メーカー: 日経BP社
- 発売日: 2016/06/02
- メディア: Kindle版
- この商品を含むブログ (6件) を見る
CentOS7にGitLabをインストールする
ほんとはGitHubを使いたいんだけど、
諸々の事情ありGitLabをインストールして使うことに。
GitLabの種類
名前 | 値段 | その他 |
EnterpriseEdition(GitLabEE) | 有料 | サーバーにインストールが必要 |
CommunityEdition(GitLabCE) | 無料 | サーバーにインストールが必要 GitLabEEより機能が劣る |
GitLab.com | 無料 | インストール不要 GitLabEEと機能は同等 |
気軽に使うのならGitLab.comが手間とお金ももかからずよさそう。
でも今回はGitLabCEで自前サーバにインストールする。
Omnibus packageを使ってインストールする
公式で推奨されてるOmnibus packageを使ってインストールします。
Omnibus packageを使えばインストールもその後のアップグレードも簡単なので強く推奨するとのこと。
We also strongly recommend at least 4GB of free memory to run GitLab.
メモリは少なくとも4GB以上をオススメしている。
1. まずはCentOS7を選択
わかりやすい画面構成
2. クリックするとインストール手順が出るのであとはそれに従うだけ
※以前はここのインストール方法はGitLabCEだった気がするけどいつの間にかGitLabEEに変わってる?
https://about.gitlab.com/installation/ce-or-ee/?distro=centos-7
GitLabEEを購入するかどうかに関わらず、とりあえずEEをダウンロードしておくことをおすすめしている模様。
そうすることによって、CEの機能をすべて使えるし、EEにしようと思ったときにアップグレードが楽だから。
3. 設定が完了したらインストール時に設定したURLにアクセスするとログイン画面が出てくる
最初にrootユーザーのパスワードを設定するので、
New passwordとConfirm new passwordを入力してChange your passwordをクリック。
サインインしてWelcome to GitLab画面が出るのであとはプロジェクトを作って開発を進めるだけ!
とっても簡単でした。
さぁモダンな開発スタイルを究めよう!
vagrantでCentOS7+Apache2.4+PHP7+MySQL5.7+CakePHP3の環境を作る
まずはvagrantでCentOS7の設定
user@user MINGW64 ~/vagrant $ mkdir centos7 user@user MINGW64 ~/vagrant $ cd centos7 user@user MINGW64 ~/vagrant/centos7 $ vagrant init A `Vagrantfile` has been placed in this directory. You are now ready to `vagrant up` your first virtual environment! Please read the comments in the Vagrantfile as well as documentation on `vagrantup.com` for more information on using Vagrant.
Vagrantfileができるので必要箇所を編集
config.vm.box = "centos/7" config.vm.network "forwarded_port", guest: 80, host: 8003 config.vm.synced_folder ".", "/vagrant", type:"virtualbox"
vagrant upで立ち上げる
user@user MINGW64 ~/vagrant/centos7 $ vagrant up Bringing machine 'default' up with 'virtualbox' provider... ==> default: Checking if box 'centos/7' is up to date... ==> default: Clearing any previously set network interfaces... ==> default: Preparing network interfaces based on configuration... default: Adapter 1: nat ==> default: Forwarding ports... default: 80 (guest) => 8003 (host) (adapter 1) default: 22 (guest) => 2222 (host) (adapter 1) ==> default: Booting VM... ==> default: Waiting for machine to boot. This may take a few minutes... default: SSH address: 127.0.0.1:2222 default: SSH username: vagrant default: SSH auth method: private key
Apache
vagrant sshで接続 user@user MINGW64 ~/vagrant/centos7 $ vagrant ssh [vagrant@localhost ~]$ インストール [vagrant@localhost ~]$ su - [root@localhost ~]# yum -y install httpd バージョン確認 [root@localhost ~]# httpd -v 起動 [root@localhost ~]# systemctl start httpd 自動起動設定 [root@localhost ~]# systemctl enable httpd.service
mysql
mariaDBの削除 [root@localhost ~]# yum -y remove mariadb-libs.x86_64 リポジトリ追加 [root@localhost ~]# yum -y install http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm インストール [root@localhost ~]# yum -y install mysql-community-server バージョン確認 [root@localhost ~]# mysqld --version 起動 [root@localhost ~]# systemctl start mysqld 自動起動設定 [root@localhost ~]# systemctl enable mysqld
PHP7
EPELリポジトリ [root@localhost ~]# yum -y install epel-release Remiリポジトリ [root@localhost ~]# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm php7インストール [root@localhost ~]# yum -y install --enablerepo=remi,epel,remi-php70 php php-devel php-intl php-mbstring php-pdo php-gd php-mysqlnd バージョン確認 [root@localhost ~]# php -v
composer
composerを使ってCakePHP3をインストールするので先にインストールしておく。
[root@localhost ~]# php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" [root@localhost ~]# php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" [root@localhost ~]# php composer-setup.php [root@localhost ~]# php -r "unlink('composer-setup.php');" [root@localhost ~]# mv composer.phar /usr/local/bin/composer
CakePHP3
[root@localhost ~]# cd /opt/www [root@localhost www]# composer self-update && composer create-project --prefer-dist cakephp/app cakephp3 You are already using composer version 1.5.2 (stable channel). Installing cakephp/app (3.5.0) Failed to download cakephp/app from dist: The zip extension and unzip command are both missing, skipping. The php.ini used by your command-line PHP is: /etc/php.ini Now trying to download from source - Installing cakephp/app (3.5.0): Cloning f807e4ef14 Created project in cakephp3 Loading composer repositories with package information Updating dependencies (including require-dev) Your requirements could not be resolved to an installable set of packages. Problem 1 - cakephp/cakephp-codesniffer 3.0.0 requires squizlabs/php_codesniffer ^3.0.0 -> satisfiable by squizlabs/php_codesniffer[3.0.0, 3.0.1, 3.0.2, 3.1.0, 3.1.1]. - cakephp/cakephp-codesniffer 3.0.1 requires squizlabs/php_codesniffer ^3.0.0 -> satisfiable by squizlabs/php_codesniffer[3.0.0, 3.0.1, 3.0.2, 3.1.0, 3.1.1]. - squizlabs/php_codesniffer 3.1.1 requires ext-simplexml * -> the requested PHP extension simplexml is missing from your system. - squizlabs/php_codesniffer 3.1.0 requires ext-simplexml * -> the requested PHP extension simplexml is missing from your system. - squizlabs/php_codesniffer 3.0.2 requires ext-simplexml * -> the requested PHP extension simplexml is missing from your system. - squizlabs/php_codesniffer 3.0.1 requires ext-simplexml * -> the requested PHP extension simplexml is missing from your system. - squizlabs/php_codesniffer 3.0.0 requires ext-simplexml * -> the requested PHP extension simplexml is missing from your system. - Installation request for cakephp/cakephp-codesniffer ^3.0 -> satisfiable by cakephp/cakephp-codesniffer[3.0.0, 3.0.1]. To enable extensions, verify that they are enabled in your .ini files: - /etc/php.ini - /etc/php.d/20-bz2.ini - /etc/php.d/20-calendar.ini - /etc/php.d/20-ctype.ini - /etc/php.d/20-curl.ini - /etc/php.d/20-exif.ini - /etc/php.d/20-fileinfo.ini - /etc/php.d/20-ftp.ini - /etc/php.d/20-gd.ini - /etc/php.d/20-gettext.ini - /etc/php.d/20-iconv.ini - /etc/php.d/20-intl.ini - /etc/php.d/20-json.ini - /etc/php.d/20-mbstring.ini - /etc/php.d/20-mysqlnd.ini - /etc/php.d/20-pdo.ini - /etc/php.d/20-phar.ini - /etc/php.d/20-sockets.ini - /etc/php.d/20-sqlite3.ini - /etc/php.d/20-tokenizer.ini - /etc/php.d/30-mysqli.ini - /etc/php.d/30-pdo_mysql.ini - /etc/php.d/30-pdo_sqlite.ini You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.
色々エラーが出たので足りないのをインストールしていく。
php_codesniffer
[root@localhost www]# composer global require "squizlabs/php_codesniffer=*" Changed current directory to /root/.config/composer ./composer.json has been created Loading composer repositories with package information Updating dependencies (including require-dev) Package operations: 1 install, 0 updates, 0 removals Failed to download squizlabs/php_codesniffer from dist: The zip extension and unzip command are both missing, skipping. The php.ini used by your command-line PHP is: /etc/php.ini Now trying to download from source - Installing squizlabs/php_codesniffer (2.2.0): Cloning b301c98f19 Writing lock file Generating autoload files