V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xmge
V2EX  ›  程序员

go mod 如何在无网情况下使用呢?

  •  1
     
  •   xmge · 2020-05-21 10:10:25 +08:00 · 3370 次点击
    这是一个创建于 1407 天前的主题,其中的信息可能已经有所发展或是发生改变。

    由于公司电脑不能连接外网。

    将 go mod 项目和 vendor 文件夹拷贝过去后,goland 不能识别依赖包。

    如果将 go mod 生成的 gopath 的依赖也拷贝过去就可以了,

    现在能不能不拷贝依赖也能让 goland 识别呢?

    有没有大佬遇到过类似问题呢?

    11 条回复    2020-05-21 16:21:16 +08:00
    AmrtaShiva
        1
    AmrtaShiva  
       2020-05-21 10:16:02 +08:00
    估计搞不了
    JackyCDK
        2
    JackyCDK  
       2020-05-21 10:19:55 +08:00
    。。。。replace 每个直接定位一遍?
    to2false
        3
    to2false  
       2020-05-21 10:22:32 +08:00
    > 将 go mod 项目和 vendor 文件夹拷贝过去后,goland 不能识别依赖包。

    可以识别的,goland 里设置成 vendor 模式就行了
    popstk
        4
    popstk  
       2020-05-21 10:23:14 +08:00
    1. 原机 go mod vendor
    2. 整个目录拷贝到新机
    3. goland 的 File->Settings->Go->Go Modules 的 vendoring support 勾起来
    log4j
        5
    log4j  
       2020-05-21 10:28:18 +08:00
    把三方包放到 vendor 就行了,能不能识别是你 IDE 设置的问题,只要用 vendor build 没问题就可以
    janxin
        6
    janxin  
       2020-05-21 10:32:22 +08:00
    可以识别的,应该是配置不对导致的
    scnace
        7
    scnace  
       2020-05-21 10:40:33 +08:00 via Android
    在能连外网的机器上搭个 Go Proxy
    kkkwar
        8
    kkkwar  
       2020-05-21 11:15:04 +08:00
    go build -mod=vendor
    saberlong
        9
    saberlong  
       2020-05-21 11:40:57 +08:00 via Android
    本地建 athens 之类的仓库存放第三方包。然后自己建 github,gitea 之类的作没内部项目的包。不过没外网,怎么取第三方包是问题
    BlackBerry999
        10
    BlackBerry999  
       2020-05-21 14:37:04 +08:00
    内网搭私有库
    mainjzb
        11
    mainjzb  
       2020-05-21 16:21:16 +08:00
    replace 直接定位到本地目录把
    replace github.com/xxxx/xxSDK => C:/git/xxSDK
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3503 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 11:06 · PVG 19:06 · LAX 04:06 · JFK 07:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.