V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
mamahaha
V2EX  ›  程序员

golang、 Java 、 PHP ,哪个编程语言框架做出来项目以后可以生成安装包?

  •  
  •   mamahaha · 2019-08-21 11:15:03 +08:00 · 6082 次点击
    这是一个创建于 1947 天前的主题,其中的信息可能已经有所发展或是发生改变。

    做成像 wordpress 那样的安装包,可以让外行一键生成应用环境,方便项目的推广和卖钱。
    编程语言直给的话可以很容易做到,但用不上框架开发的便利岂不是很可惜。
    可能是新手的缘故,我在目前掌握的框架里貌还找不到办法可以制作安装包。

    39 条回复    2019-08-22 14:11:39 +08:00
    janxin
        1
    janxin  
       2019-08-21 11:18:09 +08:00
    安装包不就是程序写的吗...
    wordpress 就是 PHP 写的
    ben1024
        2
    ben1024  
       2019-08-21 11:18:33 +08:00
    PHP 可以试试 http://www.phpwamp.com/xiazai/
    Golang,Java 可以直接打包成 exe
    R0n1n
        3
    R0n1n  
       2019-08-21 11:19:58 +08:00 via Android
    你说的几种语言都可以做成安装包,只是如何打包的问题
    Rwing
        4
    Rwing  
       2019-08-21 11:27:27 +08:00   ❤️ 1
    难道不应该首推 c# 吗?
    SpiderShrimp
        5
    SpiderShrimp  
       2019-08-21 11:28:38 +08:00
    你这个要借助打包工具 例如 golang 生成 exe,然后打包工具将 exe、图标资源等打包成.msi 文件
    sadfQED2
        6
    sadfQED2  
       2019-08-21 12:27:02 +08:00 via Android
    额,每个都可以
    mamahaha
        7
    mamahaha  
    OP
       2019-08-21 12:32:07 +08:00
    @sadfQED2 laravel 框架做的项目可以生成安装包吗?那就不用去学别的了。
    also24
        8
    also24  
       2019-08-21 12:37:31 +08:00   ❤️ 2
    @mamahaha #7
    wordpress 的所谓 “安装”,只不过就是根据你输入的信息,生成了一份配置文件而已

    不管你用什么语言,实现类似的 “安装” 只需要:
    1、把配置文件抽离出来
    2、做一个引导填写配置的页面
    3、将页面中收集的配置信息,写入配置文件,并使用这份配置文件运行当前程序
    4、处理一下安全问题(已安装过 /安装过程中不允许覆盖安装、注意配置文件不能被任意读取等)
    zw1one
        9
    zw1one  
       2019-08-21 12:53:08 +08:00 via Android
    用 java 弄成 exe 安装的话,用户机得装 jdk 吧。
    ClarkAbe
        10
    ClarkAbe  
       2019-08-21 13:00:43 +08:00 via Android
    Golang 自己可以交叉编译成 exe 或者 linux/unix 二进制文件
    linhaijian
        11
    linhaijian  
       2019-08-21 13:13:34 +08:00   ❤️ 1
    @mamahaha 你用的 laravel 吗?自己写个界面,生成.env ,写入 sql 不就完事了? 实在不行搜索下 rashidlaasri/LaravelInstaller
    zhengwenk
        12
    zhengwenk  
       2019-08-21 13:41:23 +08:00
    wordpress 不就是 php 写的么 所以 php 就可以啊
    encro
        13
    encro  
       2019-08-21 13:50:32 +08:00
    都可以。。。

    用其他打包软件都可以。

    如果直接安装包的话 pyinstaller,go build 是比较方便的。
    kiwier
        14
    kiwier  
       2019-08-21 14:10:55 +08:00   ❤️ 1
    指定是 go 了,打包成可执行文件,不依赖其他的,可独立使用,Java 需要基于 jvm
    sadfQED2
        15
    sadfQED2  
       2019-08-21 14:44:17 +08:00 via Android   ❤️ 1
    @mamahaha 没用过 laravel,但是如果是 php 的,你想方便用户部署,你可以做个 docker 镜像,然后这个 exe 文件,exe 里面执行 docker 安装以及 docker pull 等等工作,
    Raymon111111
        16
    Raymon111111  
       2019-08-21 14:52:33 +08:00
    java 可以直接打包成双击运行
    Arainzhe
        17
    Arainzhe  
       2019-08-21 15:17:37 +08:00 via Android
    都可以,看你使用什么系统了,如果是 win,都可以吧,但 win 推荐 c#做客户端,Linux 做客户端。。。这个,例如 Ubuntu,用 PHP,java
    jsy123392550
        18
    jsy123392550  
       2019-08-21 15:47:35 +08:00
    java 可以转成 exe 的时候捆绑个 jre 进去,客户端就不需要装 java 环境了
    zjyl1994
        19
    zjyl1994  
       2019-08-21 15:59:37 +08:00   ❤️ 3
    我觉得楼主的意思是要 wordpress 那种输入各种信息然后帮你生成基础配置的安装程序吧,那种就是个信息收集+存到本地的表单,只不过做的好看一些。你要是想做在服务器上直接用的,docker 镜像,deb 包,rpm 包,做完弄到软件源里就可以直接安装了
    kingfalse
        20
    kingfalse  
       2019-08-21 16:16:15 +08:00
    都可以搞成安装包哇
    annielong
        21
    annielong  
       2019-08-21 16:54:07 +08:00
    都可以,只不过情况不一样,最基本的就是程序安装,只是把文件打包,安装的时候填写配置信息,基本的 php cms 系统都有,高端一些的就是运行环境打包
    liukanshan
        22
    liukanshan  
       2019-08-21 18:04:46 +08:00   ❤️ 1
    都可以 其中 golang 极其简单。
    loading
        23
    loading  
       2019-08-21 18:07:39 +08:00 via Android   ❤️ 1
    golang,绝对可以。
    就 winrar 加批处理我自己都能搞定了。
    mmdsun
        24
    mmdsun  
       2019-08-21 20:40:16 +08:00 via Android
    c#,winform 就可以搞定了。

    我以前就做过这种 Java 程序,MySQL 数据库,.exe 一键安装部署。用的 winform 运行安装,无非是拷贝文件设置环境变量而已。MySQL,jdk 都有绿色版的。
    Cbdy
        25
    Cbdy  
       2019-08-21 20:44:23 +08:00 via Android
    @zw1one native image 了解一下
    default7
        26
    default7  
       2019-08-21 22:33:53 +08:00
    首先 Go
    default7
        27
    default7  
       2019-08-21 22:34:14 +08:00
    Go 真正的 一次编写,到处运行,不需要任何运行环境。
    T3RRY
        28
    T3RRY  
       2019-08-21 23:52:56 +08:00
    你这么问,那我只能回答 go
    SorcererXW
        29
    SorcererXW  
       2019-08-22 00:57:14 +08:00
    打包成 Docker 镜像不就好了吗
    charlie21
        30
    charlie21  
       2019-08-22 01:43:45 +08:00 via iPhone
    各个语言都可以,这是一个很经典的需求

    golang 和 docker 诞生之前难道就不可以了吗?真是杀鸡用宰牛刀 / 有了锤子看啥都是钉子
    charlie21
        31
    charlie21  
       2019-08-22 01:57:31 +08:00 via iPhone
    关键字 windows setup wizard, wordpress setup wizard, first-time install setup, after installation setup

    如果有一个 setup wizard 的确是好卖,软件的卖相好。参考 https://lifterlms.com/docs/install-activate-lifterlms 这种一看就是很专业
    Humorce
        32
    Humorce  
       2019-08-22 03:57:05 +08:00
    你要的只是在产品外面再包一层安装脚本,

    app/setup/setup > 输出 "hello, " + [userName] 到 ../public/index.html
    app/setup/setup.conf > 存储配置内容([userName] )
    app/public/setup.html > 配置 setup.conf 的内容 && 运行 ../setup/setup
    假设 userName='V2ex'
    app/public/index.html > hello, V2ex
    zachlhb
        33
    zachlhb  
       2019-08-22 09:05:09 +08:00 via Android
    说的应该是程序的安装向导吧,任何语言都可以
    icedream728
        34
    icedream728  
       2019-08-22 10:38:17 +08:00
    难道你说的是 LAMP 一键安装包,类似于 XAMPP ? wordpress 没有安装包啊
    SmiteChow
        35
    SmiteChow  
       2019-08-22 11:17:39 +08:00
    安装包只不过是脚本程序而已
    Joyboo
        36
    Joyboo  
       2019-08-22 12:15:07 +08:00
    别问,问就是 golang
    koebehshian
        37
    koebehshian  
       2019-08-22 12:45:56 +08:00
    我见过用 html 写的安装包,后缀改成 hta
    sleepm
        38
    sleepm  
       2019-08-22 13:25:41 +08:00
    要啥安装包,要方便部署
    idyu
        39
    idyu  
       2019-08-22 14:11:39 +08:00
    wamp,xampp,phpstudy 等一键部署网络开发环境的软件
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4632 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 04:01 · PVG 12:01 · LAX 20:01 · JFK 23:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.