2021-04-02
什麼是美?
在搭建的環境成功啟動的那一刻,如果你問我什麼是美?
我會毫不猶豫甩出以下這張圖:
閒話少說,本文主要分為一下三部分內容,
第一部分,搭建過程,分享自己成功搭建Laravel Sail環境的方法和步驟(與站內的文件有細微對的差別);
第二部分,心路歷程,分享自己搭建過程中的心態變化,人不是機器,所以在做事的時候許多想法,一些想法會幫助我們做事,一些則會讓我們停滯不前;
第三部分,談談以後的事情,也說說為什麼會有這篇文章。
讓我們開始。
我的電腦
首先明確一下自己電腦的情況,如下圖:
那麼,如何檢視自己電腦的情況呢?
兩步。
1.win+R鍵開啟“執行”對話方塊,輸入cmd
,回車。
2.在cmd命令列中輸入winver
,回車,你將會看到以上這張圖出現在你的桌面。
如果你的Windows系統跟我的在細節上存在差別,也是可以的,具體可以參照站內教程關於系統的部分。
我這部分,只是為了明確一下自己的系統細節,不是說你的系統必須和我一樣。
我的步驟
對於想要搭建環境的朋友來說,這是全文最重要的部分。
我的步驟,和站內給出的教程有著細微的不同,也是在這部分,讓我體會到了細節決定成敗。
首先,站內Laravel 8 中文文件是這麼說的:
在新建 Laravel 應用前,請確保你的 Windows 電腦已經安裝了 Docker Desktop。
之後,請確保已經安裝並啟用了適用於 Linux 的 Windows 子系統 2 (WSL2)。
WSL 允許你在 Windows 10 上執行 Linux 二進位制檔案。
關於如何安裝並啟用 WSL2,請參閱微軟 開發者環境文件。
一開始,我的安裝順序是:Docker Desktop –>Windows 子系統 2 (WSL2)。
所以,一開始我沒有成功。
但是,我仔細閱讀留兩個補充文件之後,發現,安裝順序應該反過來:Windows 子系統 2 (WSL2)–>Docker Desktop。
具體的步驟可能會經歷幾次重啟,看我們來看:
第1步:
以管理員身份執行cmd;
輸入:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
回車,執行完成,重啟電腦。
第2步:
以管理員身份執行cmd;
輸入:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
回車,執行完成,重啟電腦。
第3步:下載 Linux 核心更新包
下載完成後,執行,安裝,這個更新包安裝很快的。
第4步:將 WSL 2 設定為預設版本
以管理員身份執行cmd;
輸入:
wsl --set-default-version 2
回車。
第5步:安裝Ubuntu和Windows Terminal
開啟電腦的微軟商店,分別搜尋Ubuntu和Windows Terminal,按順序安裝。
順便提一句,Ubuntu第一次執行的時候,需要你設定賬號和密碼,但是,輸入密碼的時候,命令列裡面是沒有任何提示的,我一開始不知道這一點,有點懵。
第6步:檢查成果
執行cmd;
輸入:
wsl --list --verbose
回車,我的結果如下圖:
重點是我標註的那一行,最後的數字是 2 就可以了。
到這裡,你已經非常接近成功了,朋友。
第7步:安裝Docker Desktop。
下載完成後,安裝,什麼都不用管,一直點next,直到完成。
第8步:跟著站內的教程走。
完成了以上步驟,讓我們回到站內的環境部署教程,下圖中標記的內容開始,提示:點選目錄可以一鍵直達相關內容。
但是我的情況,與教程有一處細微的不同,那就是Docker Desktop開啟 WSL2 模式的設定中,我的設定裡顯示如下圖,是預設開啟的。
如果你也遇到這種情況,只能說,有緣啊~
第9步:禮物
這一步,請在成功建立測試專案之後,在執行。
建立測試專案之後,需要進行編譯,會下載大量的東西,為了加快這一過程,需要把一部分內容修改成國內的映象源。
站內教程的操作有兩個關鍵:
新建
sources.list
檔案。修改
Dockerfile
檔案。
在這裡,我已經把需要新增的 sources.list 和修改後的Dockerfile 準備好,朋友們可以直接下載,然後替換對應檔案即可。
下載地址
提取碼:
i3kn
替換目錄:
你的專案位置 \ example-app \ vendor \ laravel \ sail \ runtimes \ 8.0
第10步:等待和耐心
替換完成之後,你需要根原教程一樣,在專案根目錄,也就是example-app內執行:
./vendor/bin/sail up
到了這一步,請給一點耐心,你會看到電腦一直在編譯和執行,也許你還會聽到電腦風扇的聲音變大了,更有可能的情況是,你會經歷幾次失敗。
但是沒關係,只要你已經耐心的根據教程操作,並且關鍵畫面都與教程對的上,那你就是對的。
失敗的原因,也許是網路,或者其他你無法控制的東西,我在這一步,也失敗了好幾次,但是,我依然輸入 ./vendor/bin/sail up
,然後按下回車。
編譯成功之後,你就可以用瀏覽器開啟localhost/
如果你看到如下畫面,恭喜你,你成功了(是的,沒錯)。
如果你成功安裝了 Laravel Sail 環境,那就來聽我聊聊天吧。
其實一開始選擇 Laravel 環境的時候,也是選的Laravel Sail,但是因為步驟的關係,下載回來的 Ubuntu 子系統不是wsl2模式,於是毫無意外地失敗了。
這次嘗試失敗之後,我開始嘗試搭建 Homestead 環境。
於是,真正的折磨開始了,可惜當時的我並不知道這回事,我清晰地記得,第一次按照教程往下搭建的時候,我甚至都不能執行 vagrant up
命令,無法進入虛擬機器。
那是大前天的下午,我按照教程走了兩遍,無果。
於是我開始翻看教程下的討論,發現有人留言自己安裝環境花了半個月時間。
看到這句話的時候,我驚訝又有一點莫名的安心——我才哪裡到哪裡啊?對吧。
於是我放下事情,去追番去了。
過後的第二天,也就是前天,我再次嘗試安裝Homestead環境,這次與前一天的不同是,我參考了b站的視訊教程,並且在每一次,安裝之後,都重灌電腦的系統。
因為不知道誰說的,重灌系統可以解決90%的問題(剩下10%是需要重灌電腦的人,無法解決的)。
靠著百度搜尋、B站視訊、以及站內安裝Homestead環境的教程,這一天,我成功執行 vagrant up
和vagrant ssh
進入了虛擬機器。
不停地嘗試,卻沒有成功在虛擬機器中啟動Laravel,說實話我是失落的,但也有一股 我根本沒在怕
的想法支援著我一直往下走。
時間來到昨天,經歷前一天的失敗,我最主要的問題是,Laravel為什麼會安裝失敗?
順著這個思路,根據系統給出的錯誤提示去百度(知乎,微信),去嘗試,去思考。
最後,可是說是誤打誤撞地把 Laravel 安裝成功了,然而開啟測試網址,卻發現是No input file specified
提示。
根據討論和百度得出的結果,是虛擬機器檔案對映的問題。
那就調整 Homestead.yaml
中的配置咯。經過幾番嘗試,我終於如願開啟了Laravel預設頁面。
可是,問題來了:
我無法修改這個頁面,檔案在我的本機裡面找不到!
安裝教程原原本本的設定檔案對映路徑,結果是Laravel安裝失敗,顯示提示是無法刪除Laravel目錄。
略微調整設定檔案對映路徑之後,Laravel安裝成功,但是開啟測試網址,顯示No input file specified
。
最終,再次調整,Laravel安裝成功並且可以開啟預設頁面了,但是,在本機卻無法修改。
也就是說,我昨天大半天的時間,都與 Homestead.yaml
檔案鬥智鬥勇,期間,每次失敗之後,我沒有重灌系統。
因為我想,我連重灌系統都敢做,為什麼我不敢執行 vagrant destory
命令和刪除相關資料夾呢?
其實,也是因為在多次的嘗試和幾個教程的比對中,我已經的大概瞭解每個命令的作用是什麼,能達到什麼效果。
最終,在昨天傍晚,我再次用瀏覽器開啟了 Laravel 歡迎頁面,但是我依然無法修改,這個頁面的任何內容,原因和之前一樣。
那一刻,我累了。
於是我決定把時間交給Laravel Sail,把Homestead
先推到一邊。
這兩天的嘗試,讓我的有態度習慣變得更細緻,我同時開啟了Laravel Sail部署教程,Laravel 8中文文件、文件和幾個相關資料,把相關內容看了一遍,總結步驟。
一路下來,居然很順利,就開始用Docker編譯Laravel示例專案了。
我看編譯需要一段時間,我趁這段時間,吃了晚飯。
晚飯回來開啟電腦,發現編譯失敗,我內心毫無波動,輸入命令再次編譯。
然而,異變陡然出現:successful這個單詞我還是認識的,我忍住欣喜,開啟localhost/
那一刻,我知道Laravel Sail安裝成功了。
開啟專案資料夾,修改 index.php
的內容,終於,出現瞭如本文第一張圖所示的內容。
真的成功了。
我超棒的。
我想。
我在的學校的專業屬於設計專業,但是網頁設計課讓我接觸到前端(HTML + CSS + JavaScript
),還有遊戲設計讓我接觸到了程式設計(Unity3d + C#
)。
僅僅只是接觸了皮毛,當初並沒有在意,我的程式設計嘗試也很簡單,想通過Python考取計算機二級證照。
結果當然是失敗了,因為當時,我還沒認識到“重複”這個行為對程式設計的重要性。
畢業之後從事設計工作,發現自己對設計工作興致缺缺,今年開始嘗試轉行,360行,行行轉程式設計。
我也是這麼幹的。並且我選擇世界上最好的語言作為我的入行語言,希望能夠成功轉行。
感謝這個時代和社群的朋友,提供了大量的學習資料,非常感謝。
本作品採用《CC 協議》,轉載必須註明作者和本文連結