Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Laravel Go Laravel Package

daikazu/laravel-go

A compact Laravel package from daikazu that adds Go-focused helpers and integrations to Laravel applications, making it easier to bring Go workflows into PHP projects. It offers straightforward setup and configuration for developers blending Go concepts with Laravel.

View on GitHub
Deep Wiki
Context7

Getting Started

Before you install anything, reconcile two conflicting stories about this package. The public one-liner describes "a bridge between Laravel and Go binaries" with streamed output and exit codes; the release history, the "highly opinionated package for developing websites" tagline, and v4.1.2's only change ("Updated optional default package versions") describe a scaffolder that installs and version-pins a set of optional Composer packages. Those are completely different tools. Spend five minutes on the repo's composer.json, src/, and the command list before you spend an hour integrating. Everything below assumes the scaffolder interpretation, because that is what the shipped artifacts actually show.

Also note the headline constraint: the package is archived and its last release is 2023-01-23 (v4.1.2). That predates Laravel 10/11. Check the illuminate/* constraint in its composer.json against your app's Laravel version first — if it conflicts, the rest of this is moot.

Install and publish:

composer require --dev daikazu/laravel-go
php artisan vendor:publish --tag=laravel-go-config   # verify the tag name in the README

Then look at three things, in this order:

  1. config/laravel-go.php — this is where the package's behaviour lives, including the optional default package versions that v4.1.2 bumped. Read it before running anything; it tells you which integrations are on by default and which versions they resolve to.
  2. php artisan list | grep -i go — the console commands are the primary interface. Anything configurable is usually also exposed as a flag.
  3. The README's defaults table (if present) — patch releases change these silently, so knowing the baseline matters.

First use case: run the setup command against a throwaway branch or a fresh skeleton app with --no-interaction, then read the git diff of composer.json and the published config. That single diff tells you more about what the package does than the docs do, and it costs you nothing.

Implementation Patterns

Treat the published config as the source of truth. Once config/laravel-go.php is committed, pin every version that matters rather than relying on shipped defaults. v4.1.2 is a pure defaults bump — exactly the class of change that quietly alters what a fresh environment installs.

Separate scaffold time from day-to-day work. This is not a package you touch on every feature branch. The two recurring touchpoints are:

  • Bootstrapping: a new service, a new sandbox, a new package skeleton.
  • Re-syncing: pulling an existing app back in line after an upgrade, or adding an optional integration you skipped initially.

For the second case, re-run the package's command with the relevant flag rather than hand-editing composer.json. Hand edits drift from the package's version matrix and you lose the ability to diff intent.

Make upgrades a two-step review. Bump the package, then re-run the sync/update command on a scratch branch and read the diff of composer.json, composer.lock, and the published config. Because the package manages other packages' versions, a "patch" dependency bump can change your application's dependency graph. That is the risk to watch for here, not API breakage.

Keep a thin wrapper. A make setup or composer run bootstrap script that calls the package command with explicit flags beats remembering the flag set. It also gives you one place to update when defaults shift.

Guard reproducibility in CI. Run the tool with --no-interaction and, where supported, --no-update, so resolution is deferred to composer install against a committed lock file. Never let CI resolve floating defaults — v4.1.2 would silently produce a different build than v4.1.1.

Extension points. Override at the config layer (and via env vars) rather than forking. If the package ships stubs or templates, republish and edit those instead of patching vendor code; forking puts you on a maintenance path for a package whose entire value is staying current with its defaults.

If you genuinely need to call Go binaries, don't force this package into that role. Laravel's Illuminate\Support\Facades\Process (or Symfony Process) gives you streamed output, exit codes, timeouts, and environment handling in ~10 lines:

$result = Process::path(config('go.working_dir'))
    ->timeout(120)
    ->run(config('go.binary_path').' --flag');

$result->throw();
$result->output();  // streamed via ->run(fn ($type, $chunk) => ...) if needed

Gotchas and Tips

  • Archived and unmaintained. No Laravel 10/11 support is implied by a Jan-2023 release. Verify the framework constraint and the PHP constraint before proposing adoption; if either is stale, treat the package as reference material, not a dependency.
  • The description may be wrong. Two independent signals (release notes, tagline) contradict the "Go binary bridge" blurb. Validate behaviour empirically — commands and config keys — and don't build expectations on the one-liner.
  • Defaults move in patch releases. v4.1.2 changed nothing but optional default package versions: no API change, no deprecation, no migration. But if you never published and pinned the config, your "same" setup now installs different versions. Publish early; pin aggressively.
  • A defaults bump is not a breaking change, but it can break you. Constraints that conflict with a newly raised default surface as a Composer solver error on your next fresh install, not on upgrade. Test a clean install, not just composer update.
  • Interactive prompts hang CI. Any command that asks which optional packages to include will block a pipeline indefinitely. Always pass --no-interaction plus explicit selection flags.
  • Config caching. After publishing or editing the config, run php artisan config:clear. Cached config is the number one cause of "my changes did nothing" with packages that read defaults at boot.
  • Existing apps are the dangerous case. Running a scaffolder against an app that already has opinions can overwrite or add conflicting constraints. Work on a branch, review the lock file diff, and keep composer.lock committed so a bad run is one git checkout away from recovery.
  • Debugging: when something resolves unexpectedly, dump the merged config (php artisan tinker → config('laravel-go')) and the installed versions (composer show <package>). The mismatch between "what the config says" and "what is actually installed" is where most confusion lives. Diffing vendor/daikazu/laravel-go/ against its tag also quickly reveals whether stubs or commands were customised locally.
  • Don't chase the defaults. If your app has a working version set, freezing it in your own config is almost always correct. The package's opinionated defaults are for greenfields; treat them as a starting point you immediately take ownership of.
  • Watch it in your dependency dashboard. It has no runtime impact, so a routine patch bump looks inert — but it can change what your next deploy installs. Treat it as a build tool, not a library, and budget for replacing it once it's clearly abandoned.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
socialdept/tenant-domains
tautvydasr/blade-class-names
socialdept/color-scales
maherelgamil/controller
coleus/widgets
coleus/table
coleus/users
coleus/music
coleus/health
coleus/calendar
coleus/notes
coleus/support
coleus/settings
coleus/apps
seampact/laravel
emmyconceptng/laravel-ng-postcode
jjsquady/round-robin
skyraptor/chatter
edlugz/sasapay
abbasudo/artisan-route