開発環境
PR

Laragon番外編7|Goを手動追加・切り替える|Go Modules・Web API・VS Codeまで確認

LaragonでGoを手動追加してWeb APIとVS Codeの開発環境を確認する記事のアイキャッチ
toshi
記事内に商品プロモーションを含む場合があります

Laragonでは、PHPやNode.js、Pythonだけでなく、Goも複数バージョンを切り替えながら利用できます。

今回はLaragon番外編7として、Go公式サイトからWindows版のZIPファイルを取得し、Laragonへ手動でGoを追加する方法を実際に確認していきます。

Goを追加して終わりではありません。

Go Modulesでテストプロジェクトを作成し、VS CodeでGoの開発環境を整えたあと、Go標準パッケージのnet/httpを使ってWeb APIを作成します。

さらにHTMLとJavaScriptのfetch()からAPIを呼び出し、最後はDelveを使ったデバッグまで確認します。

この記事では、主に次の流れを実機で確認します。

  • 現在Laragonで使われているGoを確認する
  • Go公式サイトからWindows版ZIPを取得する
  • SHA-256を確認する
  • Go 1.27.1をLaragonへ手動追加する
  • LaragonでGoのバージョンを切り替える
  • Go Modulesでプロジェクトを作る
  • VS CodeのGo拡張を使う
  • go runとgo buildを確認する
  • GoでJSON Web APIを作る
  • HTMLとJavaScriptのfetch()からAPIを呼び出す
  • 404・405・ポート競合などのエラー処理を確認する
  • Delveでブレークポイントと変数を確認する

LaragonにはQuick addでパッケージを追加できる仕組みもあります。

ただし今回は、Go公式サイトから取得したZIPをLaragonへ直接配置する方法を中心に確認します。

この方法を知っておくと、Laragon側の追加メニューだけに依存せず、自分でGoのバージョンを管理する仕組みを理解しやすくなります。

現在Laragonで使われているGoを確認する

まず、新しいGoを追加する前に、現在LaragonでどのGoが使われているか確認します。

LaragonのTerminalを開いて、次のコマンドを実行します。

where.exe go
go version
PowerShell

where.exe goでは、現在PATHから呼び出されるgo.exeの場所を確認できます。

今回の作業開始時点では、次のGoが使われていました。

C:\laragon\bin\go\go1.24.1\bin\go.exe

go versionでは、Go 1.24.1が有効になっていることを確認できました。

GOROOT・GOPATH・GOMODCACHEも確認する

Goでは、最初のうちは似た名前に見えるパスがいくつか登場します。

今回は次の3つも確認しました。

go env GOROOT
go env GOPATH
go env GOMODCACHE
PowerShell

作業開始時点では、GOROOTはGo 1.24.1を指していました。

一方、GOPATHとGOMODCACHEはLaragon側の共通領域に設定されています。

Go初学者メモ

GOROOTは、現在使っているGo本体の場所です。

GOPATHは、Goがモジュールキャッシュやインストールした実行ファイルなどを保存するときの基準になるパスです。

GOMODCACHEは、Go Modulesで取得したモジュールを保存するキャッシュ領域です。

LaragonでGoのバージョンを切り替えると、GOROOTは切り替えたGoへ変わります。一方、今回の環境ではGOPATHとGOMODCACHEはLaragonの共通領域を利用しています。

LaragonへGoを手動追加する

次に、Go 1.27.1をLaragonへ追加します。

追加前にLaragonのGoメニューを確認すると、今回の環境ではGo 1.23.4とGo 1.24.1が登録されており、Go 1.24.1が選択されていました。

手動追加の全体像は次のようになります。

Go公式サイトからWindows版ZIPを取得する

Go公式サイトのダウンロードページを開きます。

今回の検証では、Windows 64bit環境で次のZIPを使用しました。

go1.27.1.windows-amd64.zip

Laragonへ手動追加するため、今回はWindows用インストーラーではなくZIPアーカイブを選びます。

SHA-256を確認する

ダウンロード後は、ZIPファイルのSHA-256も確認しました。

PowerShellではGet-FileHashを利用できます。

Get-FileHash -Algorithm SHA256 "$env:USERPROFILE\Downloads\go1.27.1.windows-amd64.zip"
PowerShell

今回確認したZIPは、公式サイトに掲載されていたSHA-256と一致しました。

SHA-256確認は、ダウンロードしたファイルが公式に公開されたものと同じ内容かを確認するために使えます。

毎回必須という意味ではありませんが、開発環境へ実行ファイルを追加するときに覚えておくと役立つ確認方法です。

ZIPの中身を確認する

ZIPを展開すると、最上位にgoフォルダがあります。

その中には、bin、pkg、srcなどGo本体として必要なファイルが含まれています。

goフォルダをgo1.27.1へ変更して配置する

展開したgoフォルダを、そのままLaragonへ置くのではなく、

go1.27.1

へリネームします。

そのあと次の場所へ配置します。

C:\laragon\bin\go\

今回の最終状態は次のようになりました。

C:\laragon\bin\go\
├─ go1.23.4
├─ go1.24.1
└─ go1.27.1

Laragonを再起動してGo 1.27.1へ切り替える

フォルダを追加したあと、Laragonを再起動します。

再起動後にGoのバージョンメニューを開くと、新しく追加したGo 1.27.1が認識されました。

Go 1.27.1を選択します。

Go 1.27.1へ切り替わったことを確認する

バージョンを切り替えたら、新しいTerminalを開いて確認します。

where.exe go
go version
go env GOROOT
go env GOPATH
go env GOMODCACHE


PowerShell

今回の実機確認値:



C:\laragon\bin\go\go1.27.1\bin\go.exe
go version go1.27.1 windows/amd64
C:\laragon\bin\go\go1.27.1
C:\laragon\usr\go
C:\laragon\usr\go\pkg\mod
Plaintext

今回の環境では、

C:\laragon\bin\go\go1.27.1\bin\go.exe

が使用され、

go version go1.27.1 windows/amd64

と表示されました。

切り替え後の環境では、次の構成になりました。

laragon-go-goroot-gopath-gomodcache-overview_2.webp
LaragonのGo環境におけるGOROOTとGOPATHとGOMODCACHEのパスと役割を示した図

今回の実機確認値は次のとおりです。

GOROOT

C:\laragon\bin\go\go1.27.1

GOPATH

C:\laragon\usr\go

GOMODCACHE

C:\laragon\usr\go\pkg\mod

Go Modulesでテストプロジェクトを作る

Goの切り替えが終わったので、実際にプロジェクトを作成します。

今回はLaragonのwww配下へ、

C:\laragon\www\laragon-go-test

を作りました。

Go Modulesもここで初期化します。

cd C:\laragon\www

mkdir laragon-go-test

cd laragon-go-test

go mod init example.com/laragon-go-test
PowerShell

生成されたgo.modは次の内容です。

module example.com/laragon-go-test

go 1.27.1
PowerShell

Go初学者メモ

go.modは、そのGoプロジェクトがどのモジュールなのか、どのGoバージョンを基準にするのか、どの依存モジュールを使うのかを管理する中心的なファイルです。

新しくGo Modules対応のプロジェクトを作る場合は、まずgo mod initでモジュールを初期化する流れを基本として覚えておくと理解しやすくなります。

VS CodeでGoの開発環境を整える

プロジェクトフォルダへ移動した状態で、VS Codeを開きます。

code .

VS CodeでGoを書く場合は、Go Team at Googleが提供するGo拡張を利用できます。

今回の環境ではGo拡張自体はインストール済みでしたが、無効になっていたため有効化しました。

gopls・DelveなどをGo 1.27.1に合わせる

Go 1.27.1へ切り替えたあと、VS CodeからGo関連ツールの更新通知が表示されました。

今回更新された主なツールは次のとおりです。

ツール主な役割
goplsGoのLanguage Server
dlvDelveデバッガ
implインターフェース実装補助
goplayGoコード実行補助

すべて正常に更新されました。


最初のGoプログラムを動かす

まずはWeb APIへ進む前に、最小限のGoプログラムを動かします。

main.goを作成します。

package main

import "fmt"

func main() {
	fmt.Println("Laragon Go Environment Check")
}
Go

実行します。

go run .
PowerShell

正常であれば、

Laragon Go Environment Check

と表示されます。

go runとgo buildの違い

go run .は、開発中にプログラムをビルドしてそのまま実行するのに便利です。

一方、実行ファイルとして残したい場合はgo buildを使えます。

go build -o laragon-go-test.exe .

.\laragon-go-test.exe
PowerShell

Windowsでは、

laragon-go-test.exe

が生成されます。

Go初学者メモ

ざっくり覚えるなら、

go run .
→ 開発中にすぐ動かして確認する

go build
→ 実行ファイルを作る

という違いから始めると分かりやすいです。

GoでWeb APIを作る

ここからはWeb開発へ進みます。

Goには標準ライブラリとしてnet/httpが用意されているため、追加フレームワークを入れなくてもHTTPサーバーを動かせます。

今回は、

/api/status

へアクセスすると、現在のGo環境をJSONで返すAPIを作ります。

最初のAPI確認用コードは

package main

import (
	"encoding/json"
	"fmt"
	"net/http"
	"runtime"
)

type Status struct {
	Status       string `json:"status"`
	Language     string `json:"language"`
	GoVersion    string `json:"goVersion"`
	OS           string `json:"os"`
	Architecture string `json:"architecture"`
}

func main() {
	http.HandleFunc("/api/status", func(w http.ResponseWriter, r *http.Request) {
		status := Status{
			Status:       "success",
			Language:     "Go",
			GoVersion:    runtime.Version(),
			OS:           runtime.GOOS,
			Architecture: runtime.GOARCH,
		}

		w.Header().Set("Content-Type", "application/json; charset=utf-8")
		json.NewEncoder(w).Encode(status)
	})

	fmt.Println("Laragon Go Environment Check")

	if err := http.ListenAndServe("127.0.0.1:8080", nil); err != nil {
		fmt.Println("Server error:", err)
	}
}
Go

です。

サーバーを起動します。

go run .
PowerShell

ブラウザから次へアクセスします。

http://127.0.0.1:8080/api/status

今回は次のJSONを取得できました。

{
  "status": "success",
  "language": "Go",
  "goVersion": "go1.27.1",
  "os": "windows",
  "architecture": "amd64"
}

今回は、

127.0.0.1:8080

で待ち受けています。

127.0.0.1はローカルPC自身を指します。

学習用のローカルWebサーバーなので、今回は外部ネットワークへ公開する必要がありません。

HTMLとJavaScriptからGo Web APIを呼び出す

APIだけでも動作確認はできますが、Web開発としてもう一歩進めて、HTMLとJavaScriptからGo APIを呼び出します。

今回の最終的な通信の流れは次のようになります。

最終的なプロジェクトでは、

static
└─ index.html

を追加します。

Go側もHTMLを配信できるように変更します。

最終版のmain.goは

package main

import (
	"encoding/json"
	"fmt"
	"net/http"
	"runtime"
)

type Status struct {
	Status       string `json:"status"`
	Language     string `json:"language"`
	GoVersion    string `json:"goVersion"`
	OS           string `json:"os"`
	Architecture string `json:"architecture"`
}

func main() {
	http.HandleFunc("/api/status", func(w http.ResponseWriter, r *http.Request) {
		if r.Method != http.MethodGet {
			w.Header().Set("Allow", http.MethodGet)
			http.Error(w, "Method Not Allowed", http.StatusMethodNotAllowed)
			return
		}

		status := Status{
			Status:       "success",
			Language:     "Go",
			GoVersion:    runtime.Version(),
			OS:           runtime.GOOS,
			Architecture: runtime.GOARCH,
		}

		w.Header().Set("Content-Type", "application/json; charset=utf-8")
		json.NewEncoder(w).Encode(status)
	})

	http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
		if r.URL.Path != "/" {
			http.NotFound(w, r)
			return
		}

		http.ServeFile(w, r, "static/index.html")
	})

	fmt.Println("Laragon Go Environment Check")

	if err := http.ListenAndServe("127.0.0.1:8080", nil); err != nil {
		fmt.Println("Server error:", err)
	}
}
Go

です。

static/index.htmlは

<!doctype html>
<html lang="ja">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Laragon Go Environment Check</title>

    <style>
      body {
        max-width: 720px;
        margin: 40px auto;
        padding: 0 20px;
        font-family: Arial, sans-serif;
        line-height: 1.6;
      }

      #status {
        margin-top: 24px;
        padding: 20px;
        border: 1px solid #d1d5db;
        border-radius: 12px;
        background-color: #f8fcfc;
      }

      #status strong {
        display: inline-block;
        width: 120px;
      }
    </style>
  </head>

  <body>
    <h1>Laragon Go Environment Check</h1>

    <div id="status">
      <p>APIデータを読み込み中です...</p>
    </div>

    <script>
      async function loadStatus() {
        try {
          const response = await fetch("/api/status");

          if (!response.ok) {
            throw new Error(`HTTP error: ${response.status}`);
          }

          const data = await response.json();
          const statusElement = document.getElementById("status");

          statusElement.innerHTML = `
            <h2>Environment Status</h2>
            <p><strong>API Status:</strong> ${data.status}</p>
            <p><strong>Language:</strong> ${data.language}</p>
            <p><strong>Go Version:</strong> ${data.goVersion}</p>
            <p><strong>OS:</strong> ${data.os}</p>
            <p><strong>Architecture:</strong> ${data.architecture}</p>
          `;
        } catch (error) {
          console.error("API ERROR:", error);

          document.getElementById("status").innerHTML = `
            <h2>Environment Status</h2>
            <p><strong>API Status:</strong> Error</p>
            <p>APIデータの取得に失敗しました。コンソールを確認してください。</p>
            <p id="api-error-detail"></p>
          `;

          document.getElementById("api-error-detail").textContent =
            `API ERROR: ${error}`;
        }
      }

      loadStatus();
    </script>
  </body>
</html>
HTML

です。

ブラウザで、

http://127.0.0.1:8080/

を開くと、JavaScriptが/api/statusへアクセスし、JSONを取得します。

取得した値をDOMへ反映すると、次の画面になりました。


エラー処理も確認する

正常に動くだけではなく、失敗した場合の処理も確認します。

今回はJavaScript側を、

async / await
+
try...catch

で構成しました。

さらに重要なのがresponse.okです。

fetch()は404や500などのHTTPエラーステータスを受け取っても、それだけではcatchへ移動しません。そのため、response.okを確認し、必要に応じて自分でエラーをthrowします。

そのため、

if (!response.ok) {
    throw new Error(`HTTP error: ${response.status}`);
}

のようにHTTPステータスを確認しています。

404を発生させて確認する

一時的にAPIのURLを存在しないものへ変更します。

通常:

const response = await fetch("/api/status");
HTML

404テスト時のみ:

const response = await fetch("/api/not-found");
HTML

すると404を検出し、画面側へエラーを表示できました。

確認後は必ず、

/api/status

へ戻します。

Go初学者メモ

JavaScriptでは今回、

try...catch

を使っています。

一方、Goの通常のエラー処理では、

if err != nil

という形をよく使います。

Goにもpanicやrecoverはありますが、通常のエラー処理をすべて例外のように扱うものではありません。

まずはGoはエラー値を確認する言語という感覚から覚えると分かりやすいです。

存在しないURLでHTMLが返らないようにする

今回、実装途中では/api/not-foundへアクセスしたとき、JSONではなくindex.htmlが返ってしまうことがありました。

理由は、"/"のハンドラーが、より具体的なパターンに一致しないパスも受け取るためです。

そこで最終コードでは、

if r.URL.Path != "/" {
    http.NotFound(w, r)
    return
}

を追加しています。

これにより、存在しないパスでは正しく404を返せます。


GET以外は405 Method Not Allowedにする

/api/statusは、環境情報を取得するAPIです。

今回はGETだけを許可するようにしています。

最終版main.goでは、

if r.Method != http.MethodGet {
    w.Header().Set("Allow", http.MethodGet)
    http.Error(w, "Method Not Allowed", http.StatusMethodNotAllowed)
    return
}

を入れています。

PowerShellではcurl.exeを使って確認できます。

GET:

curl.exe -i http://127.0.0.1:8080/api/status
HTML

POST:

curl.exe -i -X POST http://127.0.0.1:8080/api/status
HTML

GETの場合は、

HTTP/1.1 200 OK

になります。

POSTの場合は、

HTTP/1.1 405 Method Not Allowed
Allow: GET

となります。

Go初学者メモ

404 Not Found
→ そのURL・リソースが見つからない

405 Method Not Allowed
→ URL自体はあるが、そのHTTPメソッドは許可していない

今回は/api/status自体は存在しますが、POSTを許可していないため405になります。

8080番ポートが使用中で起動できない場合

Go Webサーバーを試している途中で、次のエラーにも遭遇しました。

listen tcp 127.0.0.1:8080: bind:
Only one usage of each socket address
(protocol/network address/port) is normally permitted.

通常はGoサーバーを実行しているターミナルで、

Ctrl + C

を押して停止します。

それでも8080番ポートが残っている場合は、PowerShellで確認できます。

まず確認:

Get-NetTCPConnection -LocalPort 8080 -State Listen |
Select-Object LocalAddress, LocalPort, OwningProcess
PowerShell

表示されたPIDを確認します

Get-Process -Id <PID>
PowerShell

laragon-go-testであることを確認したうえで、必要な場合だけ停止します。

Stop-Process -Id <PID>
PowerShell

最後に再確認します。

Get-NetTCPConnection -LocalPort 8080 -State Listen
PowerShell

リスナーが存在しなければ、

No matching MSFT_NetTCPConnection objects found
PowerShell

今回の実機検証でも、残っていたプロセスがlaragon-go-testであることを確認してから停止しました。

Stop-Processを使う前に、必ずGet-ProcessでPIDとプロセス名を確認してください。

PIDだけを見て、確認せずに別のプロセスを終了しないようにします。

通常はCtrl + Cで停止してからgo run .を実行し直せば十分です。

今回の検証環境では、ターミナルの表示が戻っていてもGoプロセスが残っていることがありました。

その場合はPIDを確認して停止するか、VS Codeのターミナルセッションを閉じて新しいターミナルを作成してから再実行すると切り分けやすくなります。

VS CodeとDelveでGoをデバッグする

最後にVS CodeのGoデバッガを確認します。

Go拡張から利用できるDelveを使うと、プログラムを途中で停止し、変数の内容などを確認できます。

Go: Launch packageを追加する

VS Codeの「実行とデバッグ」で構成を追加し、

Go: Launch package

を選択します。

生成されたlaunch.jsonは

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Launch Package",
      "type": "go",
      "request": "launch",
      "mode": "auto",
      "program": "${workspaceFolder}"
    }
  ]
}
JSON

です。

ブレークポイントでAPI処理を停止する

/api/statusの処理内にブレークポイントを設定します。

今回は、

w.Header().Set("Content-Type", "application/json; charset=utf-8")

の行で停止させました。

ブラウザから、

http://127.0.0.1:8080/api/status

へアクセスすると、JSONがすぐに返らず、VS Code側で処理が停止します。

これは正常です。

GoがAPIレスポンスを返す途中で止まっているため、ブラウザ側は処理の再開を待っています。

Localsでstatusの値を確認する

停止中にVS Codeの「変数」からLocalsを開き、statusを展開しました。

すると、

Status        = "success"
Language      = "Go"
GoVersion     = "go1.27.1"
OS            = "windows"
Architecture  = "amd64"

を確認できました。

Go初学者メモ

ブレークポイントは、どの行でも必ず止められるわけではありません。

今回、

status := Status{

という複数行の構造体リテラル先頭へ置いたところ、Delveから、

could not find statement
please use a line with a statement

と表示されました。

そのため、実際に実行可能な、

w.Header().Set(...)

の行へ移動しました。

型定義の行など、実行時に通らない位置へブレークポイントを置いても停止しません。

Goで初学者が引っかかりやすかったポイント

今回、実際にコードを書きながらいくつかGoらしいルールも確認できました。

ポイント覚え方
未使用のimportGoでは未使用importがエラーになる
未使用変数作っただけで使っていない変数もエラーになる
:=関数内で変数を宣言しながら値を代入できる
JSONタグ`json:"status"` のようにバッククォートを使う
go run .開発中の実行確認
go build実行ファイルを生成
Goコードの変更実行中サーバーには自動反映されないため再起動する
404URLやリソースが見つからない
405URLはあるがHTTPメソッドが許可されていない

特に:=はGoを始めたときに頻繁に目にします。

たとえば、

status := Status{}

は、statusという変数を宣言しながらStatus{}を代入しています。

ただし:=はどこでも使えるものではなく、関数内で使う構文です。

パッケージレベルではvarなどを使います。

最終的なプロジェクト構成を確認する

今回の検証を終えた時点では、プロジェクトは次の構成になりました。

laragon-go-test
│  go.mod
│  laragon-go-test.exe
│  main.go
│
├─.vscode
│      launch.json
│      settings.json
│
└─static
        index.html
Plaintext

launch.jsonはVS Codeのデバッグ設定です。

static/index.htmlはブラウザへ表示するHTMLです。

main.goではWebサーバー・JSON API・HTML配信を担当しています。

最終版をEXEへビルドする

最後に、Web APIまで実装した現在のコードから、改めてEXEを生成しました。

go build -o laragon-go-test.exe .
PowerShell

実行:

.\laragon-go-test.exe
PowerShell

ブラウザ:

http://127.0.0.1:8080/
Plaintext

今回の確認では、

Laragon Go Environment Check

と表示されたあと、ブラウザから、

http://127.0.0.1:8080/

へアクセスし、最終画面が正常に表示されました。

少し発展

今回のコードでは、

http.ServeFile(w, r, "static/index.html")

のように相対パスを使っています。

そのため、今回のようにプロジェクトルート、

C:\laragon\www\laragon-go-test

からEXEを起動する構成が分かりやすいです。

今後、本格的なアプリとして配布する場合は、埋め込みファイルシステムのembed、設定管理、ログ、タイムアウト、Graceful Shutdownなども学習対象になります。

最初から全部盛り込まず、まず今回の構成でHTTPサーバーとAPIの流れを理解してから進むのがおすすめです。

LaragonへGoを追加してWeb APIまで動かせた

今回は、Go 1.27.1を公式ZIPからLaragonへ手動追加し、バージョン切り替えからWeb API・VS Codeデバッグまで確認しました。

単に、

go version

が表示されるだけではなく、

Goを追加する
↓
Laragonで切り替える
↓
Go Modulesを作る
↓
Goコードを実行する
↓
Web APIを作る
↓
JavaScriptからAPIを呼び出す
↓
エラーを確認する
↓
Delveで内部の値を見る
↓
EXEへビルドする

ところまで実際に動かせています。

今回の到達点は、次のとおりです。

  • Go 1.27.1をLaragonへ手動追加できた
  • Go 1.24.1から1.27.1へ切り替えできた
  • GOROOT・GOPATH・GOMODCACHEを確認できた
  • Go Modulesを初期化できた
  • VS CodeのGo開発ツールを利用できた
  • go runとgo buildを確認できた
  • Go標準ライブラリでWeb APIを作成できた
  • JavaScriptのfetch()と連携できた
  • 404・405・8080番ポート競合を確認できた
  • Delveでブレークポイントと変数を確認できた
  • 最終版EXEからWeb画面を表示できた

Goは、Web APIやCLIツール、バックエンド開発などにも利用できます。

今回のようにLaragon内でGoのバージョンを管理できるようにしておくと、他の開発環境と並べながらGoを試しやすくなります。

PR:別冊(必要な方だけ)

PR:『初めてのGo言語 第2版 ― 他言語プログラマーのためのイディオマティックGo実践ガイド』

LaragonでGoを利用できる環境を整えたら、次は実際にGoのコードを書きながら、より実践的な使い方へ進んでみませんか? 基本文法からGoらしいコードの書き方、パッケージ構成、エラー処理、並行処理、開発ツールの使い方まで、Goを継続して学びたい方におすすめです。

※本書は2025年刊の第2版です。価格や在庫、版数は変わるため、最終確認はリンク先でお願いします。

前の記事

ひとつ前のステップ

Laragon番外編6へ

LaragonでPythonを追加・切り替え、pip・venv・Flask・VS Codeまで確認する流れも紹介
Laragon番外編6|Pythonを追加・切り替える|pip・venv・Flask・VS Codeまで確認
Laragon番外編6|Pythonを追加・切り替える|pip・venv・Flask・VS Codeまで確認

Laragon番外編の流れへ戻る

シリーズの入口

Laragon番外編の流れへ戻る

Laragon番外編を最初から確認したい場合は、番外編1で複数バージョンを追加・切り替える基本的な仕組みから確認できます。

Laragon番外編1|複数バージョンを追加・切り替える仕組みを理解する
Laragon番外編1|複数バージョンを追加・切り替える仕組みを理解する
Laragon番外編1|複数バージョンを追加・切り替える仕組みを理解する

次に読む

次のステップ

Laragon番外編8へ

次は、LaragonへJDKを追加してJava開発環境を整えます。JDKのバージョン切り替えから、java・javacによる確認、Javaプログラムのコンパイル・実行、VS Codeでの開発まで実機で確認していきます。

Ruby|Laragon番外編8|Rubyを追加・切り替える
記事を取得できませんでした
記事を取得できませんでした

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

ABOUT ME
toshi
toshi
フルスタックエンジニア
C型肝炎や感染症の闘病を経て現在通院中
フリーランスとして今日を生きる、それがすべて。
静かな光の中で、歩みを止めずに生きていく。
実験大好きなので色々とやっていきます。
記事URLをコピーしました