github.com/ActiveState/cli@v0.0.0-20240508170324-6801f60cd051/internal/runners/deploy/path_mac.go (about)

     1  // +build darwin
     2  
     3  package deploy
     4  
     5  import (
     6  	"os"
     7  
     8  	"github.com/ActiveState/cli/internal/fileutils"
     9  	"github.com/ActiveState/cli/internal/locale"
    10  	"github.com/thoas/go-funk"
    11  )
    12  
    13  func usablePath() (string, error) {
    14  	binDir := "/usr/local/bin"
    15  	if !fileutils.DirExists(binDir) {
    16  		err := fileutils.Mkdir(binDir)
    17  		if err != nil {
    18  			return "", locale.WrapError(err, "deploy_usable_path", "Please ensure '{{.V0}}' exists and is on your PATH.", binDir)
    19  		}
    20  	}
    21  
    22  	if !funk.Contains(os.Getenv("PATH"), binDir) {
    23  		return binDir, locale.NewError("err_symlink_bin_macos", "Please ensure '{{.V0}}' exists and is on your PATH.", binDir)
    24  	}
    25  
    26  	return binDir, nil
    27  }