Search code examples
gogo-modules

Golang Module Use


I am trying to link to some code online: https://github.com/TheCacophonyProject/audiobait

I am helping out with this project and have altered that repository to create a new package called audiofilelibrary.

I am then trying to use that code in a very simple program:

package main

import (
    "fmt"

    "github.com/TheCacophonyProject/audiobait/audiofilelibrary"
    "github.com/TheCacophonyProject/audiobait/playlist"
)

func main() {

    audio := audioFileLibrary.AudioFileLibrary{}
    fmt.Println(audio.soundsDirectory)
    sched := playlist.Schedule{}
    fmt.Println(sched.Description)

}

You'll see I'm importing 2 packages from that repository, audiofilelibrary and playlist. playlist works, audiofilelibrary does not. They seem to be coded in the same way.

This is the error I get:

$ go build
go: finding github.com/TheCacophonyProject/audiobait v2.0.0
go: finding github.com/nathan-osman/go-sunrise latest
go: finding github.com/TheCacophonyProject/audiobait/audiofilelibrary latest
build audiobaitpackagetest: cannot load 
github.com/TheCacophonyProject/audiobait/audiofilelibrary: 
cannot find module providing package 
github.com/TheCacophonyProject/audiobait/audiofilelibrary

And this is my go.mod file, which is in a directory called audiobaitpackagetest:

module audiobaitpackagetest

go 1.13

require github.com/TheCacophonyProject/audiobait v0.0.0-20191013210352-81b0afd9a085

I created the module with the command go mod init audiobaitpackagetest.

How can I see the audiofilelibrary package please? As in, how can I import it into other code?

The code for this question is all here, so it can be easily cloned and run: https://github.com/Davo36/audiobaitpackagetest

Any help much appreciated.


Solution

  • You are using version v2.0.0 of github.com/TheCacophonyProject/audiobait.

    This version doesn't contain audiofilelibrary package. But the master branch contains it.

    You can change your go.mod file like this to use the master branch.

    module audiobaitpackagetest
    
    go 1.13
    
    require github.com/TheCacophonyProject/audiobait master
    

    Then run this commands:

    go mod tidy
    go mod vendor # if you want to vendor it