Skip to content

🌐 SetEnvVariable

Sets a Composer environment variable. Equivalent to calling os.Setenv from the Go standard library, with the key being an EnvironmentVariable constant (e.g. COMPOSER_HOME).

When to use

Use this when you need to adjust Composer behavior at the process level (custom home directory, cache directory, timeout, etc.). Environment variables take precedence over config files, making them suitable for CI/container scenarios.

Signature

go
func SetEnvVariable(name EnvironmentVariable, value string) error

Parameters

ParameterTypeDescription
nameEnvironmentVariableEnvironment variable name, using a predefined constant such as EnvComposerHome
valuestringValue to set

Common constants: EnvComposerHome, EnvComposerCacheDir, EnvComposerProcessTimeout, EnvComposerMemoryLimit, EnvComposerNoInteraction, EnvComposerVendorDir, etc.

Return value

Return valueTypeDescription
Sole return valueerrorReturned when the setting fails (usually nil)

Example

go
package main

import (
	"log"

	"github.com/scagogogo/composer-skills/pkg/composer"
)

func main() {
	if err := composer.SetEnvVariable(composer.EnvComposerHome, "/opt/composer-home"); err != nil {
		log.Fatalf("set env variable failed: %v", err)
	}
}

Advanced

Released under the MIT License