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

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

ただいまの
回答率

87.77%

laravelの"valet install"で「Unable to determine linked PHP.」というエラーが出て困っています

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 1,549

score 199

 環境

MacOSX High Sierra 10.13.3
php: PHP 7.1.7 (cli) (built: Jul 15 2017 18:08:09) ( NTS )
ターミナル: iterm2 Build 3.1.5

 やりたい事

laravel5.4 でvaletを使いたい。

 やった事

動画サイトlaracastのLaravel 5.4 From ScratchEPISODE3 Laravel Valet is Your Best Friendにそってvalet installを叩いてみました。

 実行結果

以下のエラーが出力されます。

In Brew.php line 179:

  Unable to determine linked PHP.

 教えていただきたいこと

エラーの回避方法と、なぜそのようなエラーが出るかについて教えていただきたいです。

 やった事の詳細 ~ 追記(2018.4.8 7:30)

ターミナル(iterm2)でやった事を詳しく書いていきます。
~/development/laravel/laracast はbashプロンプトです。

  • 作業ディレクトリの確認
~/development/laravel/laracast  pwd
/Users/taro/development/laravel/laracast
  • phpのバージョンの確認
~/development/laravel/laracast  php -v
PHP 7.1.7 (cli) (built: Jul 15 2017 18:08:09) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
  • composerのインストール
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"


composer.pharがインストールされたことが確認できた

  • composer.pharを名前を変えて移動
~/development/laravel/laracast  mv composer.phar /usr/local/bin/composer
  • laravel installerのインストール
~/development/laravel/laracast  composer global require "laravel/installer"
Changed current directory to /Users/taro/.composer
Using version ^2.0 for laravel/installer
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Nothing to install or update
Generating autoload files
  • パスの確認
~/development/laravel/laracast  echo $PATH
/Users/taro/.composer/vendor/bin:/Users/taro/.composer/vendor/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/taro/bin:.


~/.composer/vendor/binにパスが通っている

  • laravelが実行できるかの確認
~/development/laravel/laracast  laravel -V
Laravel Installer 2.0.1


laravelは実行できるけど、

~/development/laravel/laracast  laravel new myBlog
~/development/laravel/laracast  cd myBlog
~/development/laravel/laracast/myBlog  php artisan -V
Laravel Framework 5.6.15


laravel5.6がインストールされてしまう

laravel newでバージョンを指定する仕方が分からないのでlaravel newは一旦あきらめた

  • composerを使ったlaravel5.4のインストール
~/development/laravel/laracast cd ..
~/development/laravel/laracast composer create-project --prefer-dist laravel/laravel myBlog2 "5.4.*"
~/development/laravel/laracast cd myBlog2
~/development/laravel/laracast/myBlog2 php artisan -V
Laravel Framework 5.4.36


laravel5.4のインストールに成功

  • laravelのデフォルトページの表示の確認
~/development/laravel/laracast/myBlog2  php artisan serve
Laravel development server started: <http://127.0.0.1:8000>


イメージ説明
ブラウザでhttp://127.0.0.1:8000にアクセスするとデフォルトのページが表示された

  • Homebrewのインストール
    https://brew.sh/に書いてある一行をiterm2で実行
~/development/laravel/laracast/myBlog2  /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
-e:161: warning: Insecure world writable dir /Users/taro/development/laravel in PATH, mode 040777
==> This script will install:
/usr/local/bin/brew
/usr/local/share/doc/homebrew
(中略)
==> Next steps:
- Run `brew help` to get started
- Further documentation:
    https://docs.brew.sh


brewがインストールされた

  • brewを使ってphp7.1をインストール(?)
~/development/laravel/laracast/myBlog2  brew install homebrew/php/php71
Warning: Use php@7.1 instead of deprecated homebrew/php/php71
Warning: php@7.1 7.1.16 is already installed and up-to-date
To reinstall 7.1.16, run `brew reinstall php@7.1`


homerew/php/php71が推奨されていなくて代わりのphp@7.1が最新の状態でインストールされてる模様

  • valetのインストール
~/development/laravel/laracast/myBlog2  composer global require laravel/valet
Changed current directory to /Users/taro/.composer
Using version ^2.0 for laravel/valet
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Nothing to install or update
Generating autoload files
~/development/laravel/laracast/myBlog2  valet -V
Laravel Valet 2.0.10


valetのインストールも出来た様子

  • valet install
~/development/laravel/laracast/myBlog2  valet install
Stopping nginx...
Installing nginx configuration...
Installing nginx directory...
Updating PHP configuration...

In Brew.php line 179:

  Unable to determine linked PHP.


install


とここで本題のエラーが出る

 疑問

valet newでlaravelのバージョンを指定する方法はありますか?
valet installでエラーが発生することへの対処法はありますか?

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

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

回答 1

check解決した方法

0

valet newでlaravelのバージョンを指定する方法はありますか?
valet installでエラーが発生することへの対処法はありますか?

valet newでlaravelのバージョンを指定する方法はまだ分かってませんが、
valet installには成功したので備忘録として書いておきます。

[DomainException] Unable to determine linked PHP. #470
というサイトの記述に従ってbrew link php71を実行したところ、

~/development/laravel/laracast/myBlog2  brew link php71
Warning: php@7.1 is keg-only and must be linked with --force
Note that doing so can interfere with building software.

If you need to have this software first in your PATH instead consider running:
  echo 'export PATH="/usr/local/opt/php@7.1/bin:$PATH"' >> ~/.bash_profile
  echo 'export PATH="/usr/local/opt/php@7.1/sbin:$PATH"' >> ~/.bash_profile
~/development/laravel/laracast/myBlog2 

bash
と返ってきたので、brew link --force php71を叩いたら

~/development/laravel/laracast/myBlog2  brew link --force php71
Linking /usr/local/Cellar/php@7.1/7.1.16... 47 symlinks created

If you need to have this software first in your PATH instead consider running:
  echo 'export PATH="/usr/local/opt/php@7.1/bin:$PATH"' >> ~/.bash_profile
  echo 'export PATH="/usr/local/opt/php@7.1/sbin:$PATH"' >> ~/.bash_profile
~/development/laravel/laracast/myBlog2 


と正常終了しました。
表示に従って./bash_profileに追記もし、valet installとしたところ

~/development/laravel/laracast/myBlog2  valet install
Stopping nginx...
Installing nginx configuration...
Installing nginx directory...
Updating PHP configuration...
Restarting dnsmasq...
Restarting nginx...

Valet installed successfully!
~/development/laravel/laracast/myBlog2 


後はvalet installを実行したら

~/development/laravel/laracast/myBlog2  ping foobar.test
PING foobar.test (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.022 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.080 ms
^C
--- foobar.test ping statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.022/0.051/0.080/0.029 ms
~/development/laravel/laracast/myBlog2 


となり、valet installが成功したのが確認できました。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

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

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

関連した質問

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