как установить golang пакет на полной другой папке и заставить его работать?

Я хочу установить движение пакет Ленга на отдельной папке вместо использования apt-get install устанавливать его. Я не стремлюсь использовать apt-get по многим причинам, которые были бы слишком длинными для объяснения здесь.

Я сделал следующее

apt-get download golang-go

Затем я распаковал его как этот

dpkg -x golang-go_2%3a1.6-1ubuntu4_amd64.deb .

У меня есть папка usr и в 3 папках,bin,lib и share и в нем, логические каналы.

Каковы должны быть мои следующие шаги?

0
задан 26 February 2018 в 04:31

1 ответ

Плохой метод

Это - плохая идея. Я сделал извлечение, как Вы записали, и я имею неработающие ссылки и не могу запуститься go:

$ cd /tmp/
$ apt-get download golang-go
$ dpkg -x golang-go_2%3a1.6-1ubuntu4_amd64.deb go
$ tree go -f | grep bin
    ├── go/usr/bin
    │  ├── go/usr/bin/go -> ../lib/go-1.6/bin/go
    │  └── go/usr/bin/gofmt -> ../lib/go-1.6/bin/gofmt
$ ./go/usr/bin/go
bash: ./go/usr/bin/go: No such file or directory

Можно попробовать другой больший пакет -

$ apt-get download golang-1.6-go
$ dpkg -x golang-1.6-go_1.6.2-0ubuntu5~16.04.4_amd64.deb go
$ tree go -f | grep bin    ├── go/usr/bin
    │  ├── go/usr/bin/go -> ../lib/go-1.6/bin/go
    │  └── go/usr/bin/gofmt -> ../lib/go-1.6/bin/gofmt
    │  ├── go/usr/lib/go-1.6/bin
    │  │  ├── go/usr/lib/go-1.6/bin/go
    │  │  └── go/usr/lib/go-1.6/bin/gofmt
    │  │  │  │  ├── go/usr/lib/go-1.6/pkg/linux_amd64/encoding/binary.a
$ go/usr/bin/go version
go version go1.6.2 linux/amd64

Лучше, но что, если движение не нашло бы некоторые библиотеки?

Действительно для работы golang установка Вам нужно больше пакетов - видит моделирование ниже:

$ apt-get install golang --simulate
NOTE: This is only a simulation!
      apt-get needs root privileges for real execution.
      Keep also in mind that locking is deactivated,
      so don't depend on the relevance to the real current situation!
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  golang-1.6 golang-1.6-doc golang-1.6-go golang-1.6-race-detector-runtime golang-1.6-src golang-doc golang-go golang-race-detector-runtime
  golang-src
Suggested packages:
  bzr git mercurial subversion
The following NEW packages will be installed:
  golang golang-1.6 golang-1.6-doc golang-1.6-go golang-1.6-race-detector-runtime golang-1.6-src golang-doc golang-go golang-race-detector-runtime
  golang-src
0 upgraded, 10 newly installed, 0 to remove and 12 not upgraded.

Хорошие методы

Действительно у Вас есть следующие опции:

  • Сreate debootstrap или schroot или контейнер/каталог Докера или что-то подобное для изоляции Идут среда.

  • Установка go со Снимком:

    snap install go16-lbo
    

    и протестируйте его с

    snap run go16-lbo help
    
  • Установка go1.10 с человечностью - сделайте:

    sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make
    sudo apt-get update
    sudo apt-get install ubuntu-make
    umake go
    
1
ответ дан 30 October 2019 в 09:18

Другие вопросы по тегам:

Похожие вопросы: