У меня есть Makefile, который запускает некоторые цели на круге. Это цель Makefile
Makefile
install_lint: curl -sfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh| sh -s v1.21.0
Когда я бегу по второй цели golangci-lint --version Я получил ошибку golangci-lint: Command not found
golangci-lint --version
golangci-lint: Command not found
Я пытался также с этим
curl -sfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh| sh -s -- -b $(go env GOPATH)/bin v1.21.0
, поскольку я бегущий докер 1.13.2
1.13.2
version: 2 jobs: build: docker: - image: circleci/golang:1.13.3
Любая идея, что мне здесь не хватает? как сделать бинарный файл пригодным для использования?
Я также пробовал что-то вроде
install_lint: curl -sLO https://github.com/golangci/golangci-lint/releases/download/v${GOLANGCI_VERSION}/golangci-lint-${GOLANGCI_VERSION}-linux-amd64.tar.gz tar -xzvf golangci-lint-${GOLANGCI_VERSION}-linux-amd64.tar.gz cp golangci-lint-${GOLANGCI_VERSION}-linux-amd64/golangci-lint /usr/local/bin/golangci-lint && chmod +x /usr/local/bin/golangci-lint
, и я получил ошибку
cp: cannot create regular file '/usr/local/bin/golangci-lint': Permission denied
То, как я это делаю, это
1 - я позволяю окружности CI установить golangci-lint
curl -sfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh| sh -s -- -b $(go env GOPATH)/bin v1.20.0
2- Мой файл make содержит только golangci-lint call
lint: @golangci-lint run
3-Circle CI step call мой make-файл
validate-lint: ... steps: - run: name: "Validate lint" command: | curl -sfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh| sh -s -- -b $(go env GOPATH)/bin v1.20.0 make lint