Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 
(연관된 글이 1개 있습니다.)

go install: no install location for directory [...경로...] outside GOPATH

Go 언어를 위한 IDE로 LiteIDE가 있는데요.

LiteIDE
; https://github.com/visualfc/liteide
; http://sourceforge.net/projects/liteide/files

liteidex30.2.windows-qt5.zip
; https://sourceforge.net/projects/liteide/files/X30.2/liteidex30.2.windows-qt5.zip/download

IDE라고 해서 Go 본연의 소스 코드 구조를 무시할 수는 없습니다. 가령, d:\temp\go\sample1 폴더에 hello.go 파일을 다음과 같이 만들고,

package main

import (
    "fmt"
)

func main() {
    fmt.Println("Hello World!")
}

LiteIDE에 올려 Ctrl + B(Build)키를 누르면 빌드가 잘 되고 Ctrl + Alt + R(Run)키를 누르면 실행도 잘 됩니다. 하지만, Ctrl + F8(Install)키를 누르면 다음과 같은 오류가 발생합니다.

C:/Go/bin/go.exe install [D:/temp/go/sample1]
go install: no install location for directory D:\temp\go\sample1 outside GOPATH
    For more details see: go help gopath
Error: process exited with code 1.

GOPATH는 환경 변수로써 go 컴파일의 기준 디렉터리 역할을 하는데, IDE 컴파일 환경이 환경 변수에 얽매이는 것 자체가 윈도우 환경에서는 왠지 잘 어울리지 않는 구조입니다. 다행이라면 LiteIDE에 GOPATH 환경 변수를 등록하는 방법이 있는데, 이를 위해 "View" / "Manage GOPATH..."에 다음과 같이 설정할 수 있습니다.

lite_ide_1.png

그런데, 이렇게 해도 "Install" 메뉴는 여전히 이전과 같은 오류를 내며 동작하지 않습니다.

왜냐하면, 이는 GO 언어가 제약하는 Install 구조에 맞지 않기 때문입니다. 이를 맞추려면, 우선 제가 "GOPATH"를 "D:/temp/go/sample1"로 등록했기 때문에, 다음의 폴더를 만든 후,

D:/temp/go/sample1/src

다시 src 폴더 하위에 "hello" 폴더를 만들고 그 안에 "hello.go" 파일을 넣어두어야 합니다.

D:\temp\go\sample1\src\hello\hello.go

이렇게 하고 나서야 Ctrl + F8(Install) 메뉴를 실행하면 정상적으로 실행되고,

C:/Go/bin/go.exe install [D:/temp/go/sample1/src/hello]
Success: process exited with code 0.

D:\temp\go\sample1\bin 폴더가 자동으로 만들어지면서 그 안에 hello.exe 파일이 생성됩니다.




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]

[연관 글]






[최초 등록일: ]
[최종 수정일: 11/7/2016]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 61  62  63  [64]  65  66  67  68  69  70  71  72  73  74  75  ...
NoWriterDateCnt.TitleFile(s)
12372정성태10/13/202020862.NET Framework: 951. C# 9.0 - (5) 로컬 함수에 특성 지정 가능(Attributes on local functions)파일 다운로드1
12371정성태10/13/202019894개발 환경 구성: 519. Visual Studio의 Ctrl+Shift+U (Edit.MakeUppercase) 단축키가 동작하지 않는 경우
12370정성태10/13/202019433Linux: 33. Linux - nmcli를 이용한 고정 IP 설정
12369정성태10/12/202023033Windows: 176. Raymond Chen이 한글날에 밝히는 윈도우의 한글 자모 분리 현상 [3]
12368정성태10/12/202019742오류 유형: 668. VSIX 확장 빌드 - The "GetDeploymentPathFromVsixManifest" task failed unexpectedly.
12367정성태10/12/202031578오류 유형: 667. Ubuntu - Temporary failure resolving 'kr.archive.ubuntu.com' [2]
12366정성태10/12/202021598.NET Framework: 950. C# 9.0 - (4) 원시 크기 정수(Native ints) [1]파일 다운로드1
12365정성태10/12/202019956.NET Framework: 949. C# 9.0 - (3) 람다 메서드의 매개 변수 무시(Lambda discard parameters)파일 다운로드1
12364정성태10/11/202020764.NET Framework: 948. C# 9.0 - (2) localsinit 플래그 내보내기 무시(Suppress emitting localsinit flag)파일 다운로드1
12363정성태10/11/202022310.NET Framework: 947. C# 9.0 - (1) 대상으로 형식화된 new 식(Target-typed new expressions) [2]파일 다운로드1
12362정성태10/11/202019165VS.NET IDE: 151. Visual Studio 2019에 .NET 5 rc/preview 적용하는 방법
12361정성태10/11/202021451.NET Framework: 946. C# 9.0을 위한 개발 환경 구성
12360정성태10/8/202015791오류 유형: 666. The type or namespace name '...' does not exist in the namespace 'Microsoft.VisualStudio.TestTools' (are you missing an assembly reference?)
12359정성태10/7/202018039오류 유형: 665. Windows - 재부팅 후 iSCSI 연결이 끊기는 문제
12358정성태10/7/202019669오류 유형: 664. Web Deploy 설치 시 "A newer version of Microsoft Web Deploy 3.6 was found on this machine." 오류 [3]
12357정성태10/7/202017173오류 유형: 663. 이벤트 로그 - The storage optimizer couldn't complete retrim on New Volume
12356정성태10/7/202032734오류 유형: 662. ASP.NET Core와 500.19, 500.21 오류 (0x8007000d)
12355정성태10/3/202016075오류 유형: 661. Hyper-V Linux VM의 Internal 유형의 가상 Switch에 대한 IP 연결이 되지 않는 경우
12354정성태10/2/202030217오류 유형: 660. Web Deploy (msdeploy.axd) 실행 시 오류 기록 [1]
12353정성태10/2/202019317개발 환경 구성: 518. 비주얼 스튜디오에서 IIS 웹 서버로 "Web Deploy"를 이용해 배포하는 방법
12352정성태10/2/202021151개발 환경 구성: 517. Hyper-V Internal 네트워크에 NAT을 이용한 인터넷 연결 제공
12351정성태10/2/202018769오류 유형: 659. Nox 실행이 안 되는 경우 - Unable to bind to the underlying transport for ...
12350정성태9/25/202024198Windows: 175. 윈도우 환경에서 클라이언트 소켓의 최대 접속 수 [2]파일 다운로드1
12349정성태9/25/202018034Linux: 32. Ubuntu 20.04 - docker를 위한 tcp 바인딩 추가
12348정성태9/25/202018627오류 유형: 658. 리눅스 docker - Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock
12347정성태9/25/202034490Windows: 174. WSL 2의 네트워크 통신 방법 [4]
... 61  62  63  [64]  65  66  67  68  69  70  71  72  73  74  75  ...