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

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

ただいまの
回答率

88.76%

$laravel new コマンドでエラー

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 895

chichiyanagi

score 8

実現したいこと

OSXでLaravelの開発環境を整えたい。
MAMP内のPHPを使用したい。

エラーまでの過程

homebrewをインストール
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew doctorにて確認
$Brew doctor

Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry or file an issue; just ignore this. Thanks!

Warning: Broken symlinks were found. Remove them with `brew cleanup`:
  /usr/local/lib/libprotobuf-lite.6.dylib
brew cleanup
Brew cleanup

Pruned 1 symbolic links from /usr/local
再度確認
Brew doctor

Your system is ready to brew.
composerをインストール
Brew install composer

MY_NAME:/ MY_NAME$ brew install composer
==> Downloading https://getcomposer.org/download/1.9.2/composer.phar
######################################################################## 100.0%
🍺  /usr/local/Cellar/composer/1.9.2: 3 files, 1.8MB, built in 8 seconds




   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer version 1.9.2 2020-01-14 16:30:31

Usage:
  command [options] [arguments]

Options:
  -h, --help                     Display this help message
  -q, --quiet                    Do not output any message
  -V, --version                  Display this application version
      --ansi                     Force ANSI output
      --no-ansi                  Disable ANSI output
  -n, --no-interaction           Do not ask any interactive question
      --profile                  Display timing and memory usage information
      --no-plugins               Whether to disable plugins.
  -d, --working-dir=WORKING-DIR  If specified, use the given directory as working directory.
      --no-cache                 Prevent use of the cache
  -v|vv|vvv, --verbose           Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug

Available commands:
  about                Shows the short information about Composer.
  archive              Creates an archive of this composer package.
  browse               Opens the package's repository URL or homepage in your browser.
  check-platform-reqs  Check that platform requirements are satisfied.
  clear-cache          Clears composer's internal package cache.
  clearcache           Clears composer's internal package cache.
  config               Sets config options.
  create-project       Creates new project from a package into given directory.
  depends              Shows which packages cause the given package to be installed.
  diagnose             Diagnoses the system to identify common errors.
  dump-autoload        Dumps the autoloader.
  dumpautoload         Dumps the autoloader.
  exec                 Executes a vendored binary/script.
  global               Allows running commands in the global composer dir ($COMPOSER_HOME).
  help                 Displays help for a command
  home                 Opens the package's repository URL or homepage in your browser.
  i                    Installs the project dependencies from the composer.lock file if present, or falls back on the composer.json.
  info                 Shows information about packages.
  init                 Creates a basic composer.json file in current directory.
  install              Installs the project dependencies from the composer.lock file if present, or falls back on the composer.json.
  licenses             Shows information about licenses of dependencies.
  list                 Lists commands
  outdated             Shows a list of installed packages that have updates available, including their latest version.
  prohibits            Shows which packages prevent the given package from being installed.
  remove               Removes a package from the require or require-dev.
  require              Adds required packages to your composer.json and installs them.
  run                  Runs the scripts defined in composer.json.
  run-script           Runs the scripts defined in composer.json.
  search               Searches for packages.
  self-update          Updates composer.phar to the latest version.
  selfupdate           Updates composer.phar to the latest version.
  show                 Shows information about packages.
  status               Shows a list of locally modified packages, for packages installed from source.
  suggests             Shows package suggestions.
  u                    Upgrades your dependencies to the latest version according to composer.json, and updates the composer.lock file.
  update               Upgrades your dependencies to the latest version according to composer.json, and updates the composer.lock file.
  upgrade              Upgrades your dependencies to the latest version according to composer.json, and updates the composer.lock file.
  validate             Validates a composer.json and composer.lock.
  why                  Shows which packages cause the given package to be installed.
  why-not              Shows which packages prevent the given package from being installed.

composerのパスを追加

export PATH="~/.composer/vendor/bin:$PATH" 


#####laravelのインストール

bash
composer global require "laravel/installer=~1.1"

#エラー内容

bash
/Application/MAMP/htdocs $ laravel new project

In NewCommand.php line 42:

The Zip PHP extension is not installed. Please install it and try again.  

new [--dev] [--5.2] [--] [<name>]
```

"phpの拡張でzipがないから、インストールして再度試して下さい。"のようなことが書かれているとおもいます。

検索してみると、brewコマンドでcomposerをインストールした際には
といった内容が多くみられました。brewコマンドで動くことは確認が取れたのですが、なぜ、brewコマンドてphpをインストールすると動作してインストールしないと動かなかったのかが気になり、別の方法で対応できればとおもい、質問させていただきました。

試したこと

MAMP内のphp.iniを編集する事で対応できるかと考えましたが、うまくできず。
検索すると"brewでphpをインストールしてください。"といった内容が多くありました。
brew コマンドにてphpをインストールしたらこのエラーは解消されました。

問題点・聞きたいこと

なぜbrewコマンドでインストールしたPHPの場合動作したのか伺いたいです。
また、もしMAMPのPHPで動作させたいと思った場合はどの様な所処置が必要なのでしょうか。
(WindowsとXAMPPの環境で例えるとComposerをインストールする際に
XAMPP内のphp.exeを指定するイメージです。)

投稿内容に不備、不足等あればお手数ですがご指摘いただきたいです。

お力添えよろしくお願いいたします。

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

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

質問への追記・修正、ベストアンサー選択の依頼

  • m.ts10806

    2020/01/27 22:37

    エラーに何をしたら良いの書いてありますけど、どこまで調べて試したのでしょうか。
    >The Zip PHP extension is not installed. Please install it and try again.

    ただ、brewが推奨されているはずで、あえてそれ以外の方法で行くのは如何なものかと(自己責任で対応しきれないのなら選ぶメリット皆無です)

    キャンセル

  • chichiyanagi

    2020/01/27 22:50

    度々回答ありがとうございます。
    エラーには"phpの拡張でzipがないから、インストールして再度試して下さい。"のようなことが書かれているとおもいます。

    php.iniを編集する事で対応できるかと考えましたが、うまくできず。

    検索してみると、brewコマンドでcomposerをインストールした際には
    brewでphpをインストールしてください。といった内容が多くみられました。brewコマンドで動くことは確認が取れたのですが、なぜ、brewコマンドてphpをインストールすると動作してインストールしないと動かなかったのかが気になり、別の方法で対応できればとおもい、質問させていただきました。

    キャンセル

  • m.ts10806

    2020/01/27 22:53

    こちらは回答ではなく質問への追記修正依頼のコメント欄です。
    基本的に質問を編集して返してください。

    キャンセル

  • chichiyanagi

    2020/01/27 23:40

    失礼いたしました。質問を編集いたしましたので、確認していただけると幸いです。

    キャンセル

回答 1

checkベストアンサー

0

なぜbrewコマンドでインストールしたPHPの場合動作したのか伺いたいです

「Laravel導入に必要なものが全て付属の状態でPHPがインストールされるから」に他なりません。
パッケージ管理ツールの利点はそこです。
Composerもその内ですが、依存関係を自動で解決してくれます。

Aというパッケージを利用する場合にはAからBというパッケージを利用している・・・
のでそこをうまいことやってくれてBも一緒に導入してくれるのがパッケージ管理ツールです。

Laravelのドキュメントにもしっかり書かれています。

インストール6.x
Laravelフレームワークを動作させるには多少のシステム要件があります。Laravel Homestead仮想マシンでは、要求が全て満たされています。そのため、Laravelのローカル開発環境としてHomesteadを活用されることを強くおすすめします。
しかし、Homesteadを使用しない場合は、以下の要件を満たす必要があります。
以下略

「そういうツール使わないなら自分で確認して自分で全部入れてね」という意味です。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2020/01/28 09:43

    回答ありがとうございます。
    この領域の話を理解するには私のスキルがまだまだ足りないようなので、
    今はこういうものだと思って頑張りたいと思います。
    また、質問をするかと思いますが、その際はよろしくお願いいたします。

    キャンセル

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

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

関連した質問

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