###### tags: `Tutorial`, `InitSetup` # 開發環境建置 本篇文章是拿來提醒自已在遇到需要建置新電腦的情境時(如重灌、購買新電腦),可以照著這篇文章把自己習慣的開發環境架起來,之後有空時研究一下怎麼直接搞個docker好了。 ## 開啟 IIS 功能 1. 先從 `設定` -> `系統` -> `關於` 中確認Windows版本,若是==家用版則無IIS功能==,請略過此小節。 ![image](https://hackmd.io/_uploads/HJSoj9enT.png) 2. 從 `控制台` -> `程式集` -> `程式和功能` -> `開啟或關閉Windows功能` 打開 `Internet Infomation Services`。 ![image](https://hackmd.io/_uploads/HkkaaqghT.png) ## 編譯器 IDE 1. [VisualStudio](https://visualstudio.microsoft.com/zh-hant/thank-you-downloading-visual-studio/?sku=Enterprise&channel=Release&version=VS2022&source=VSLandingPage&cid=2030&passive=false):就看那時候最新到哪個版本吧,連結是`Enterprise 2022`,授權金鑰上網找。 2. [VisualStidioCode](https://code.visualstudio.com/docs/?dv=win):`Extensions`可以找`Will保哥`整理好的`Angualr Extemsion pack`。 3. [Linqpad](https://www.linqpad.net/Download.aspx):工程師都要有的一把箭,可當簡易SSMS,也可以輸出簡單語法結果,好用! > VisualStudio建議先預設 `以系統管理員開啟`,到程式啟動位置 `C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE` 中找到 `devenv.exe` 並右鍵選擇 `疑難排解相容性(Y)` -> `疑難排解程式` -> `程式要求額外權限` -> `測試程式` -> `是,為此程式儲存這些設定`。 > ![image](https://hackmd.io/_uploads/Syc1boehp.png) > ![image](https://hackmd.io/_uploads/r125lsx26.png) > ![image](https://hackmd.io/_uploads/HJmBWje2a.png) > ![image](https://hackmd.io/_uploads/S13uWsl3T.png) > ![image](https://hackmd.io/_uploads/HkYn-je2a.png) ## Node.js、Npm 及 AngularCLI 1. 先安裝 [NVM](https://github.com/coreybutler/nvm-windows/releases)(直接下載連結[點這裡](https://github.com/coreybutler/nvm-windows/releases/download/1.1.10/nvm-setup.exe))。 2. 開啟VSCode,在`Terminal`執行`nvm install lts`以安裝最新的LTS版本的`Node.js`及`npm`。 3. 在`Terminal`執行`nvm list`查看安裝的`Node.js`版本。 4. 在`Terminal`執行`nvm use xx.xx.xx`(xx為版本號)。 5. 在`Terminal`執行`node -v`確認正在使用的`Node.js`版本。 6. 在`Terminal`執行`npm -v`確認正在使用的`npm`版本。 7. 在`Terminal`執行`npm install -g @angular/cli`以安裝最新的`Angular CLI`。 8. 在`Terminal`執行`ng version`確認安裝的`Angular CLI`版本。 ### 錯誤排查 如果在VSCode中使用`Terminal`執行`npm -v`的過程有出現類似下列錯誤 `npm : C:\Program Files\nodejs\npm.ps1 檔案無法載入。檔案 C:\Program Files\nodejs\npm.ps1 未經數位簽署。您無法在目前的系統上執行此指令碼。如需關於執行指令碼及設定執行原則的詳細資訊,請參閱 about_Execution_Policies (網址為 https:/go.microsoft.com/fwlink/?LinkID=135170)。` 則可以依照以下步驟排除: 1. 使用`系統管理員身分`執行VSCode,在`Terminal`執行`get-ExecutionPolicy`可以看到目前的執行政策。 2. 在`Terminal`執行`set-ExecutionPolicy RemoteSigned`將執行政策改為遠端簽署即可。 ## 資料庫 DB 1. [MS SQL Instance](https://www.microsoft.com/zh-tw/sql-server/sql-server-downloads):資料庫實體[SQL 2019 Developer 官方載點](https://go.microsoft.com/fwlink/?linkid=866662)。 a. Developer Edition。 b. 自訂安裝。 c. 下載完成後,開啟安裝中心 -> 安裝 -> 新增SQL Server獨立安裝。 ![](https://i.imgur.com/6jSzs74.png) d. 前面步驟都下一步即可,到產品金鑰時記得確認一下是Developer版本。 ![](https://i.imgur.com/30KvErp.png) e. 特徵選取部分如下圖勾選。 ![](https://i.imgur.com/klPhPpW.png) f. 具名執行個體,如果本機上只有安裝一個版本可以使用預設執行個體即可,但我習慣會選具名執行個體,差別在於連接時,連接字串最後鑰加上執行個體名稱。 ![](https://i.imgur.com/MVC5iCr.png) g. SQL Server Agent選自動,這樣才可以進行排程維護等工作。 ![](https://i.imgur.com/mfgI6aH.png) h. 驗證模式選擇混和模式,並設定密碼,指定SQL Server 管理員可以按加入目前使用者。 ![](https://i.imgur.com/dJIg9B8.png) 2. [SSMS](https://learn.microsoft.com/zh-tw/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-ver16):資料庫管理工具 ### 錯誤排查 1. 如果在安裝時有碰到`找不到Database Engine 啟動控制代碼`的錯誤,可以嘗試修改以下設定: a. `SQL Server Agent` 與 `SQL Server Database Engine` 的帳戶名稱改為 `NT AUTHORITY\NETWORK SERVICE`。 b.`SQL Server Analysis Services`、`SQL Server Reporting Services`、`SQL Server Distributed Replay Client`、`SQL Server Distributed Replay Controller` 的帳戶名稱改為 `NT AUTHORITY\LOCAL SERVICE`。 ![](https://i.imgur.com/RgSZP9N.png) 2. 若上述處置未能解決,則再測試以下設定: a. 使用`系統管理員`執行`命令提示字元`並執行`fsutil fsinfo sectorinfo C:`。 b. 若`PhysicalBytesPerSectorForAtomicity` 大於 4096 則繼續。 c. 使用`系統管理員`執行`命令提示字元`並執行下列語法以新增機碼。 `REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\stornvme\Parameters\Device" /v "ForcedPhysicalSectorSizeInBytes" /t REG_MULTI_SZ /d "* 4095" /f`。 d. 之後再執行下列語法以確認有新增成功。 `REG QUERY "HKLM\SYSTEM\CurrentControlSet\Services\stornvme\Parameters\Device" /v "ForcedPhysicalSectorSizeInBytes"` ## 其他工具 Tool 1. [NotePad++](https://notepad-plus-plus.org/downloads/):最喜歡的文字編輯器。 2. [Postman](https://dl.pstmn.io/download/latest/win64):測試呼叫API工具。 ## 參考連結 * [nvm:安裝、切換不同 Node.js 版本的管理器](https://titangene.github.io/article/nvm.html) * [Angular CLI](https://angular.io/cli) * [保哥的文章:Angular 16 開發環境說明](https://gist.github.com/doggy8088/15e434b43992cf25a78700438743774a?fbclid=IwAR1AMi9goTuLfvNewYrQTJJxqkkOfPVdnQbyREGDsXuvjTZT0irwNUg5jIA) * [安裝SQL Server 2016 遇到問題](https://social.technet.microsoft.com/Forums/zh-TW/e9671531-62b2-4e8e-8768-73c2b0b4d980/2343335037sql-server-2016-36935210402183938988?forum=sqlservermanagementzhcht) * [針對與系統磁片磁區大小大於 4 KB 相關的錯誤進行疑難排解](https://learn.microsoft.com/zh-tw/troubleshoot/sql/admin/troubleshoot-os-4kb-disk-sector-size?view=sql-server-ver16)