• 请不要在回答技术问题时复制粘贴 AI 生成的内容
zjsxwc
V2EX  ›  程序员

有可以和 golang 一样部署方便的语言吗?

  •  
  •   zjsxwc ·
    zjsxwc · May 15, 2019 via Android · 3108 views
    This topic created in 2625 days ago, the information mentioned may be changed or developed.
    golang 这种直接编译后就丢上去跑了,不需要装额外的运行时环境,有可以和 golang 一样部署方便的语言吗?
    17 replies    2019-05-17 09:18:45 +08:00
    flashrick
        1
    flashrick  
       May 15, 2019 via iPhone
    php
    Hconk
        2
    Hconk  
       May 15, 2019 via iPhone
    不需要虚拟机的语言应该都可以做到,c/c++静态编译不依赖环境
    fovecifer
        3
    fovecifer  
       May 15, 2019
    @Hconk C 和 C++需要一大堆的动态库作为依赖啊 不过其实有办法把依赖也都编译到可执行文件里
    Hconk
        4
    Hconk  
       May 15, 2019 via iPhone
    @fovecifer 我上面写了静态编译呀
    Vanquish5419
        5
    Vanquish5419  
       May 15, 2019
    楼上说的静态编译的都可以,或者用 docker
    josephok
        6
    josephok  
       May 15, 2019 via Android
    Rust
    cubecube
        7
    cubecube  
       May 15, 2019
    @Hconk 大部分时候,还是挑环境。glibc 做不到纯静态
    cabing
        8
    cabing  
       May 15, 2019
    有 docker 还挑啥环境。
    zhaozhao
        9
    zhaozhao  
       May 15, 2019   ❤️ 1
    使用 musl-libc 替换 glibc + 静态编译
    bonfy
        10
    bonfy  
       May 15, 2019
    只要可以编译的都可以吧 比如 Rust C C++ 之类的
    nnnToTnnn
        11
    nnnToTnnn  
       May 15, 2019
    Java PHP C# C++ GO JS python 基本上所有的语言部署都很方便,本来不需要装额外的运行时环境,只是打包体积大小的问题而已
    cz5424
        12
    cz5424  
       May 15, 2019 via iPhone
    @cabing docker 挑 cpu 架构哈哈哈哈哈哈
    vexjoe
        13
    vexjoe  
       May 15, 2019
    red language
    cabing
        14
    cabing  
       May 15, 2019
    @cz5424 你是说 ldx。还真是~~
    zjsxwc
        15
    zjsxwc  
    OP
       May 17, 2019 via Android
    @flashrick 这种添加 so 拓展还是要跑几条命令的,感觉麻烦
    zjsxwc
        16
    zjsxwc  
    OP
       May 17, 2019 via Android
    @zhaozhao

    有没有使用 musl libc 的项目推荐吗?我去学习下
    zhaozhao
        17
    zhaozhao  
       May 17, 2019
    @zjsxwc docker 提供的最小 linux 发行版 alpine linux 就是基于 musl libc 的
    油管上看过一次 alpine 作者的分享,印象中记得他说很多库 /应用已经默认基于 glibc 编码了,直接替换不是很容易,可能要改源码之类的。https://alpinelinux.org/

    如果不是必要不太建议折腾这个,可以保留 glibc 作为动态编译,把其他库都静态编译。glibc 做了很好的前向兼容,一般情况下不会是个问题。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1198 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 78ms · UTC 23:28 · PVG 07:28 · LAX 16:28 · JFK 19:28
    ♥ Do have faith in what you're doing.