質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

87.38%

Macで Pecl, Pearがインストールできない

解決済

回答 2

投稿

  • 評価
  • クリップ 0
  • VIEW 4,200

score 148

前提・実現したいこと

MacOSでCakePHPを使ったアプリを作ろうとしており、そのためのローカル環境を整えようとした際に躓きました。
Pecl, Pearをインストールしたいのですが、うまくいきません。
どなたか教えていただけると幸いです。。。

発生している問題・エラーメッセージ

CakePHPのプロジェクトを作成する際に、intlモジュールが必要とのメッセージが出たので、intlモジュールをインストールしようと、下記サイトを参考にしました。
http://hiroki-tkg.com/?p=1539

上記サイトにある下記3つのコマンドを入力したところ、

cd /tmp && mkdir pear && cd pear
$ curl -O http://pear.php.net/go-pear.phar
$ sudo php -d detect_unicode=0 go-pear.phar

結果は下記のようになりました。

PC2699:cake3app2 afroscript$ cd /tmp && mkdir pear && cd pear
mkdir: pear: File exists
PC2699:tmp afroscript$ curl -O http://pear.php.net/go-pear.phar
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   241  100   241    0     0    328      0 --:--:-- --:--:-- --:--:--   328
PC2699:tmp afroscript$ sudo php -d detect_unicode=0 go-pear.phar
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="https://pear.php.net/go-pear.phar">here</a>.</p>
</body></html>

上記参考記事には、なんか聞かれたら基本 Enterと書かれてましたが、特に何も聞かれない状況でうまく行っていないようです。

peclを試してみましたが、もちろん使えませんでした。

PC2699:tmp afroscript$ sudo pecl install intl
sudo: pecl: command not found

吐き出されたHTMLにあった https://pear.php.net/go-pear.phar にアクセスしても、PHPコードが書いてあり、どう対処したらいいか分かりません。

他のpeclインストール方法を探ると下記の別記事を発見しましたが、どうやら$ sudo php -d detect_unicode=0 go-pear.pharのあとの反応が違うようです。

http://kenzo0107.hatenablog.com/entry/2017/06/04/224841

どのように対処したらいいのでしょうか??

補足情報

  • macOS Mojave(バージョン10.14.5)
  • PHP:7.1.23

※不足情報等ありましたら、お知らせください。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

checkベストアンサー

+1

intl 拡張、デフォルトで入ってたら嬉しいのですが、そうではないのが残念ですね。

私の環境では go-pear.phar 実行できました。(https じゃないとダメ)

curl -O https://pear.php.net/go-pear.phar
php -d detect_unicode=0 go-pear.phar

~/pear/bin 以下に pecl がインストールされるのを確認しました。

ただし、 go-pear.phar はオワコンらしいですね・・・。
https://qiita.com/rana_kualu/items/cda171324e98124c8d23

代わりに
https://github.com/FriendsOfPHP/pickle
も使えるらしいです。

これらを使って、intl 拡張が入れられるはず。

ちなみに私の環境では、拡張をビルドする環境がなかったので、
Xcode command line tools のインストールが必要みたいです。

 1. xcode-select --install
 2. cd /Library/Developer/CommandLineTools/Packages/ 
 3. open macOS_SDK_headers_for_macOS_10.14.pkg

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/07/23 14:26 編集

    autoconf も必要だった。

    今インストール中。
    > brew install autoconf

    キャンセル

  • 2019/07/23 14:29

    ICU がどうのって言われる。intl のインストールの調査は、ちょっとここで止めます・・・。

    キャンセル

  • 2019/07/24 11:09

    ありがとうございます!
    http[s]でインストールすることができました!
    ずっとひっかかっていたのでようやくスッキリしました!ありがとうございます!!

    キャンセル

  • 2019/07/24 11:17

    (しかし、参考にしてた記事を読み進めていくと、結局pearではintlをインストールできないっぽいことに気づきました。。。http://hiroki-tkg.com/?p=1539
    ちょっと別の方法を考えます。。。)

    キャンセル

+1

PHP 7.1では、intlはPECLやPEARからインストールするものではなく、PHPに同梱されているものです。もし無効だったら、php.iniなどで設定を変更して有効にしてください。

intl インストール手順

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/07/23 11:39 編集

    仮にPECL版を入れるにしても、PEARは全く無関係なので、いまは忘れてください(PHP 7時代の開発にPEARが必要になることは、ほぼありません)。

    キャンセル

  • 2019/07/23 12:26

    早速の回答ありがとうございます!

    php.iniの設定を変更するというのは、
    `php.ini.default`内の`;extension=php_intl.dll`の`;`を外すのであってますでしょうか??

    上記を外して再度、下記CakePHPの公式サイトの`composer self-update && composer create-project --prefer-dist cakephp/app my_app_name`でCakePHPのプロジェクト作成を試みみたのですが、

    https://book.cakephp.org/3.0/ja/installation.html#id5

    再度下記のような同じメッセージが出てきました。。。
    ```
    Your requirements could not be resolved to an installable set of packages.

    Problem 1
    - cakephp/cakephp 3.8.1 requires ext-intl * -> the requested PHP extension intl is missing from your system.
    - cakephp/cakephp 3.8.0 requires ext-intl * -> the requested PHP extension intl is missing from your system.
    - Installation request for cakephp/cakephp 3.8.* -> satisfiable by cakephp/cakephp[3.8.0, 3.8.1].
    ```

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 87.38%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る