2015-10-20 15 views
6

Tôi đang cố gắng thực hiện go install và đổi tên đầu ra bằng cờ -o.cài đặt không nhận ra cờ "-o"

go install -o bar.exe src/foo.go 

Nhưng điều này không thành công với các lỗi:

flag provided but not defined: -o 
usage: install [build flags] [packages] 

go help build show -o là đúng build cờ để đổi tên nhị phân đầu ra. Không có đề cập đến rằng lá cờ này không được xác định cho go install.

go run -o bar.exe src/foo.go không thành công với cùng một lỗi.

go build -o bar.exe src/foo.go hoạt động. Tôi nhận được bar.exe.

Vì vậy, đây chỉ là lỗi tài liệu hoặc tôi đã bỏ sót điều gì đó?

Phiên bản của tôi: go1.5 windows/386.

Cảm ơn.

+2

Lệnh 'cờ -o' không phải là được định nghĩa cho 'install' hoặc' run'. Lỗi trong tài liệu là gì? – JimB

+3

'go help install' cho' sử dụng: đi cài đặt [xây dựng cờ] [gói] 'vì vậy nó có vẻ hợp lý để giả định rằng bất kỳ cờ được định nghĩa cho' go build' được chấp nhận ở đây. – theeddieh

+2

'go build -h' list' Các cờ xây dựng được chia sẻ bởi các build, clean, get, install, list, run, và các lệnh kiểm tra: 'chỉ sau -o và -i được mô tả. '-o' không phải là một trong các cờ xây dựng được chia sẻ. – captncraig

Trả lời

19

go build chấp nhận cờ -o nhưng go install thì không.

go install sẽ luôn luôn xuất để $GOPATH/bin

Nếu bạn muốn cài đặt một tên tùy chỉnh nhị phân để gopath của bạn, bạn có thể làm go build -o $GOPATH/bin/whatever và đó sẽ là tương đương với go install

+2

'đi xây dựng' là không giống nhau, bởi vì nó loại bỏ tất cả các hiện vật biên dịch sau khi nhị phân được xây dựng. Nó thường được khuyến khích để ủng hộ 'đi cài đặt'. – JimB

+3

@JimB 'go build -i' sẽ lưu các phần tử phụ thuộc vào thư mục' pkg'. – captncraig

+0

ah vâng, quên mất điều đó. – JimB

Các vấn đề liên quan