Arka fon
«Garantiler… yüklü» sadece bağlıdır Go dev'i sağlayan bir dizi pakette. env.
Senin gibi görebilmek ,
Bu paket diğer üç pakete bağlıdır. golang-1.8-doc
, golang-1.8-go
, golang-1.8-src
- yüklediğinizde golang-1.8
,
bu üçü de kurulacak.
Karşılaştığınız sorun, itiraf etmeliyim ki, gerçekten kafa karıştırıcı
ama kolayca açıklanabilir.
Eğer bakarsanız tarafından kurulan paketlerin listesi golang-1.8-go
, göreceksiniz ki go
aracı olarak yüklenir /usr/lib/go-1.8/bin/go
,
ve dizin /usr/lib/go-1.8/bin
listelenmemiş
varsayılan PATH
ortam değişkeni /etc/profile
).
Bu şekilde yapılmasının nedeni iki yönlüdür:
Birkaç grup olabilir golang-X.Y*
aynı paketler
Aynı zamanda Debian süiti; söylemek gerekirse, Stretch 1,7 ve 1,8'e sahiptir.
Birlikte kurulabilir olduklarını anlamak çok önemlidir.
test edilen bir projenin nasıl test edildiğini test etmek için yararlı olabilir
karşısında X.Y
ile çalışacak X.Y+N
.
Debian özel "en genel" bir Go paketi sunar
belirli bir bağlıdır golang-X.Y
kabul edildi paketi
Parcicular Debian sürümünde "standart" olmak.
Streçte, bu golang-go
,
ve gördüğünüz gibi, sürümünde "1.7" vardır ve golang-1.7-go
.
Bu paket çalıştırılabilir ikiliklerin çalışmasını sağlar
belirli bir varsayılan tarafından sağlanan golang-X.Y-go
paket mevcuttur
"standart yer" içinde - altında /usr/bin
( kendin için gör ).
Bu konuda ne yapmalı?
Birkaç olasılık:
Sadece çağrı /usr/lib/go-1.8/bin/go
tam yoluyla.
go
aracı nerede olduğunu bilir " GOROOT
öyle bulacak ki
Sürümüne özgü paketler gayet iyi.
Bu dizini yol değişkeninize göre ayarlayın;
şöyle bir şey söyle
export PATH="/usr/lib/go-1.8/bin:$PATH"
senin içine ~/.bashrc
senaryo
ve bir sonraki arama go
yeni yerde bulacaksınız.
Kaynağını tut golang-go
paket, düzelt
markaları golang-1.8-go
varsayılan paketi oluşturun ve kurun.
(Henüz bu tarafa gitmenizi tavsiye etmem.)
Bu yardımcı olur umarım.
Açıklayan bir başka bıçak
Stretch, üç paketten oluşan iki pakete sahiptir: golang-1.7-*
ve golang-1.8-*
.
Her birinde, paket golang-1.N-go
paket yükler go
altında ikili /usr/lib/go-1.N/bin
. Hiçbiri bir sembolik bağlantı kurmuyor altında /usr/bin
.
Bunun nedeni, bu paket paketlerini yapmaktır. ko-kurulabilir, Böylece Go kodunuzu kurulu sürümlerin herhangi biriyle derleyebilirsiniz.
Şimdi var bir diğeri, bağımsız, paket, kodlamayan Go sürümüne kendi adını yazdı.
Adı golang-go
ve yalnızca golang-1.7-go
nerede 1.7
o varsayılan Stretch için Go çalışma zamanı sürümü.
Başka bir sürümde, golang-go
başka birine bağlı olacak golang-X.Y-go
paketi.
Bu bu sağlayan paket /usr/bin/go
e işaret ederek /usr/lib/go-1.7/bin/go
.
Öyleyse (ve sadece) golang-go
yüklü, olacak
go
altında mevcut ikili /usr/bin
ve bu Go olacak
Streç olarak 1.7.
Ve hayır, bir şekilde zorlamak mümkün değil golang-go
işaret etmek go
yüklü olandan golang-1.8-go
paket, ve ne yok
"dpkg alternatifleri" ile tercih edilen bir Go sürümü seçmenin bir yolu
mekanizması.
Bu yaklaşımın "nedenini" benim üstlenmem iyi bilinen bir sürüme sahip olmaktır.
arasında go
herhangi bir Debian sürümünde. Bu sözde için gerekli
Go ile yazılmış yazılımların Debian paketlerini oluşturmak.
Aksi takdirde, paket inşaat makinelerinin icat etmesi gerekecektir.
Go varsayılan sürümünü bulmak için bazı hileler;
şu an itibariyle, kaynak paketleri
Sadece bağlı golang-go
ve bir gün ara.