[Laravel] 環境架設 mac篇

被虛擬主機氣死不想喇賽了
空間後台登不進去,原來是我的帳號沒有設定二次驗證被刪掉了阿
粉絲專頁有公告喔!靠杯膩,這種事情不是應該用寄信的嗎



正文開始,本篇環境為 macOS
這是照著官方的做法安裝laravel
其實沒有想像中難,只是composer的使用一開始容易嚇到人

1.安裝composer


curl -sS https://getcomposer.org/installer | php

2.搞成全域變數(可有可無)


前面的搞法是將 composer.phar 安裝在指定的專案目錄中
可是這樣有個缺點,也就是每次當你建立新專案時,你必須重做上面的動作來取得 composer.phar,顯然有點麻煩。
其實 composer.phar 是可以移動的,所以你可以將它移動到 usr/local/bin 目錄中,這樣就會成為全域指令,即可在所有專案中使用。
另外,為了操作的便利性,可以將 composer.phar 改名為 composer。
現在可以直接使用 composer 指令來取代針對專案的 php composer 指令。

3.安裝laravel


輸入指令用composer安裝laravel插件
對,其實laravel是一個composer插件

composer global require "laravel/installer"

在 Mac 上設定 path 讓指令可以被偵測
export PATH=$PATH:/Users/電腦名稱/.composer/vendor/bin/

然而這麼做是暫時性的修改
意味著下次開啟 terminal $PATH 會被初始化
我們先按「shift + command + . 」這樣可以顯示隱藏資料夾
進去 /Users/電腦名稱/.composer/vendor/bin/,會看到一隻叫做 laravel 的檔案
修改/etc/paths 檔案,加入 /Users/電腦名稱/.composer/vendor/bin/
之後就可以直接使用 laravel 呼叫
記得用sudo vim 才可以編輯,可以直接拖曳資料夾進terminal 就不會打錯字

4.新專案

laravel new [專案名稱]
然後就開始跑,跑完就好了

5.clone專案下來

記得把root指向專案內public資料夾
並cd到專案下執行composer update / composer install(如果你發現沒有vendor就要下)
不然 index.php 的 autoload 會爆炸
然後記得專案權限要改成 777 或是設定 www-data

6.超雷

一開始安裝一直發生莫名的錯誤,後來發現有文章提到
laravel 5.6 一定要升級php7.1以上
7.0(含)以下版本沒有 Nullable types 這個function 所以會死亡
如同 這篇

但是若是用7.2,我的docker環境內的 這個 會爆炸
wagon 是使用 7.1 ... 所以我最後也把mac上環境改成 7.1

後來發現的解決辦法
libpng12-dev 改成 libpng-dev
就好了 詳情看 這篇這篇

7.傻眼的Whoops



就在我以為一切安好的時候,又出錯了
找了半天發現 laravel 的超強 debug 畫面

我們進去 /config/app.php
'debug' => env('APP_DEBUG', false)
設為true
可以見到炫砲的debug畫面,然後知道是
vendor/laravel/framework/src/Illuminate/Encryption/EncryptionServiceProvider.php

throw new RuntimeException( 'No application encryption key has been specified.' );
發生問題

解決方法就是我們在根目錄下看到的 .env.example 複製下來,一樣放在專案根目錄,改叫 .env
然後 terminal 執行
php artisan key:generate
會噴一串32 字元長的金鑰出來,這就是新的 APP_KEY
看到 Application key [base64:金鑰] set successfully. 哈哈成功!

這時候應該就可以看到可愛的歡迎頁面了



以上就是在 mac 環境下安裝 Laravel 的方法
果然是比windows那篇詳細很多呢

架好環境了就該開工啦,這幾天在幫網誌搬家
原本的主機太雷,常常連不上
最扯的是刪除帳號居然是在 facebook 粉絲專頁公告
不是寄信給用戶... 躍空主機真 der 很有個性

留言