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

有没有什么思路可以实现自动配置开发环境

  •  
  •   laters · Apr 3, 2024 · 17037 views
    This topic created in 946 days ago, the information mentioned may be changed or developed.

    有没有什么思路可以实现自动配置开发环境

    例如: 自动配置 Node 环境,Flutter 环境,Android 环境

    方式不限... 需要个思路

    104 replies  •  2024-04-07 14:48:36 +08:00
    1  2  
    ❮ ❯
    v2gba
    v2gba
    Apr 3, 2024
    1
    我是写了个 bash script 丢在 gcs 上
    适配常用的 macOS 和 ubuntu 系统

    每台新的机器只要运行一下然后等就行
    bash -c "$(wget -qLO - xxxxx)"
    laters
    laters
    OP
    Apr 3, 2024
    2
    @MrGba2z 那如果是 windows 呢,安装包这种怎么处理, 方便分享一些代码吗, 学习下思路
    LLaMA2
    LLaMA2
    Apr 3, 2024❤️1
    3
    不要和我扯什么下载安装,配置环境变量,老夫就是 shell script 一把梭,复制粘帖,猛击回车键就是干!
    laters
    laters
    OP
    Apr 3, 2024
    4
    @LLaMA2 需要经常用,所以想搞个自动配置的..
    LLaMA2
    LLaMA2
    Apr 3, 2024
    5
    你需要在什么环境下安装什么那些环境,请详细列出来,热心网友会给你实现,记得上烟!!
    BeautifulSoap
    BeautifulSoap
    Apr 3, 2024
    6
    windows 用 wsl2+wslg ,创建好环境后把 vhdx 复制出来就能到处用了
    sdwgyzyxy
    sdwgyzyxy
    Apr 3, 2024
    7
    用 docker 把基础镜像都构建好呢,到时候 volume 代码进去,直接启动
    hingle
    hingle
    Apr 3, 2024
    8
    nix
    DTCPSS
    DTCPSS
    Apr 3, 2024
    9
    PowerShell + WinGet
    WinGet Configure (我没用过)
    Docker + Dev Container + VSCode
    NessajCN
    NessajCN
    Apr 3, 2024
    11
    @laters Win 的处理方法
    1. 装 linux 虚拟机
    2. 格了 Windows 换 Linux
    rick13
    rick13
    Apr 3, 2024
    12
    nix,全环境直接生成
    twing37
    twing37
    Apr 3, 2024
    13
    scoop install
    laters
    laters
    OP
    Apr 3, 2024
    14
    @LLaMA2 #5 windiws linux 环境都有
    laters
    laters
    OP
    Apr 3, 2024
    15
    windiws linux 环境都需要
    sankooc
    sankooc
    Apr 3, 2024
    16
    dev container
    ShadowPower
    ShadowPower
    Apr 3, 2024
    17
    @laters Windows 同理,winget+chocolatey 装软件,其他逻辑用 powershell 写

    首次安装系统之后需要:
    1. 打开开发者选项的 PowerShell 执行权限
    2. 装 Chocolatey ,就像 macOS 装 homebrew 一样
    ShadowPower
    ShadowPower
    Apr 3, 2024
    18
    @laters 还有另一种情况是用 MSYS2 ,有些环境在这里面更方便,例如 Qt 开发环境
    yituanmaoxian
    yituanmaoxian
    Apr 3, 2024
    19
    windows 可以考虑用 winget scoop 之类的 搞个 powershell 脚本
    auh
    auh
    Apr 3, 2024
    20
    用移动硬盘吧
    labubu
    labubu
    Apr 3, 2024
    21
    hyper 虚拟机
    bigtear
    bigtear
    Apr 3, 2024❤️1
    23
    win 可以用 vfox
    其它系统可以用 nix
    不过要是想一键搭建 docker 是最方便的
    necodba
    necodba
    Apr 3, 2024
    24
    系统装完了之后,配置完开发环境,做个镜像?然后直接用 PE
    laters
    laters
    OP
    Apr 3, 2024
    25
    @necodba 这样应该不行,有些不是新环境
    necodba
    necodba
    Apr 3, 2024
    26
    @laters 除了 Android 环境之外,另外两个直接获取下载页面链接,打包到 powershell ,但是这里有个问题,有些环境用最新的,你是不是要考虑以下向下兼容的问题
    idontnowhat2say
    idontnowhat2say
    Apr 3, 2024
    27
    vagrant
    zsh2517
    zsh2517
    Apr 3, 2024
    28
    感觉无非两种思路

    1. 提前把配置环境的过程记录下来,每次需要新环境的时候运行脚本。例如 CI/CD 、写 shell 等
    2. 直接打包可用的环境,定期更新。如构建 docker 镜像/VM 模板,需要用的时候项目挂载进去直接用

    ---

    具体来说 ,如果是个人设备(多项目、多环境),推荐 1 ,一键安装常用的东西如各类开发环境、shell 、dot File 等。如果是每个项目一个新环境,2 的话配置完后一般可以做到一键启动
    ladeo
    ladeo
    Apr 3, 2024
    29
    ansible+容器
    clue
    clue
    Apr 3, 2024
    30
    web 的话
    docker + vscode remote
    lilei2023
    lilei2023
    Apr 3, 2024
    31
    @LLaMA2 哈哈,你真是莽夫啊,虽然我也是!
    reeco
    reeco
    Apr 3, 2024
    32
    nixos
    inhzus
    inhzus
    Apr 3, 2024
    33
    你是否在找 mise https://github.com/jdx/mise 及 direnv https://github.com/direnv/direnv
    上述两者可以做到设置 文件夹级别 的开发环境及环境变量
    yifeia
    yifeia
    Apr 3, 2024
    34
    之前组里有 C++,go 等,都有对应的 docker 环境,直接拉到自己的开发机上用就行了
    kirara2024
    kirara2024
    Apr 3, 2024
    35
    devcontainer
    thewangcj
    thewangcj
    Apr 3, 2024
    36
    windows 下 scoop 可以导出安装过的软件列表
    hankli
    hankli
    Apr 3, 2024
    37
    windows 环境的话,除了 docker, 你可以试一下 vfox 哦~

    repo: https://github.com/version-fox/vfox
    docs: https://vfox.lhan.me/

    vfox 会在你进入目录时,根据全局或项目中的.tool-versions 文件进行环境的切换.
    lizy0329
    lizy0329
    Apr 3, 2024
    38
    @hankli 其实就是个 nvm+ 对吗?
    mmdsun
    mmdsun
    Apr 3, 2024
    39
    WSL 2 + ubuntu
    6F321i77Df1W0Zka
    6F321i77Df1W0Zka
    Apr 3, 2024
    40
    vagrant 不就是干这个的吗
    hankli
    hankli
    Apr 3, 2024
    41
    @lizy0329 不太准确, 跟#33 楼说的差不多 ,windows 下的 mise , vfox 主要是针对 asdf 缺点开发的 cli 工具.
    asdf + direnv 的组合可以这么理解吧.
    DokiDokiSophon
    DokiDokiSophon
    Apr 3, 2024
    42
    scoop
    hafuhafu
    hafuhafu
    Apr 3, 2024
    43
    scoop export
    ByteCat
    ByteCat
    Apr 3, 2024
    44
    把系统做成 VHDX ,直接引导就好了,我用的 Ventoy ,很方便
    c2const
    c2const
    Apr 3, 2024
    45
    硬件性能够好,硬盘空间也不紧张,win 开发环境我一般是 VM 虚拟机,直接在里面开发 :)
    coyove
    coyove
    Apr 3, 2024
    46
    用开发机,ssh+vim ,配完了八百年不用改一次
    laters
    laters
    OP
    Apr 3, 2024
    47
    @zsh2517 有好用的工具或者脚本可以借鉴使用吗
    laters
    laters
    OP
    Apr 3, 2024
    48
    @coyove 是给不同的电脑和不同的环境配
    laters
    laters
    OP
    Apr 3, 2024
    49
    @auh 想实现自动化一点的,类似于一键安装那种
    laters
    laters
    OP
    Apr 3, 2024
    50
    @ByteCat 是给不同的电脑和不同的环境配,类似于脚本一键安装那种
    laters
    laters
    OP
    Apr 3, 2024
    51
    @c2const 是给不同的电脑和不同的环境配,类似于脚本一键安装那种
    laters
    laters
    OP
    Apr 3, 2024
    52
    主要场景是给不同的电脑和不同的环境进行配置,类似于脚本一键安装那种
    noahlias
    noahlias
    Apr 3, 2024
    53
    devcontainer 是最方便的咯 按照你的项目实际需求来
    shelken
    shelken
    Apr 3, 2024 via iPhone
    54
    shelken
    shelken
    Apr 3, 2024 via iPhone
    55
    @shelken 前提是先得学习一下 nix ,最好还有有一个畅通无限量的网络,加上宽裕的硬盘容量
    imzcc
    imzcc
    Apr 3, 2024❤️1
    56
    有一个新出的工具,vfox 跨平台的兼容 linux windows ,刚切过来,感觉还不错
    https://vfox.lhan.me/
    darksword21
    darksword21
    Apr 3, 2024❤️1
    57
    nix nixos flake direnv+nix direnv
    rockxsj
    rockxsj
    Apr 3, 2024
    58
    @laters #2 那就写成 powershell 脚本,windows 、linux 、mac 都能用
    happyxhw101
    happyxhw101
    Apr 3, 2024
    59
    sudo pacman -S xxxx
    iorilu
    iorilu
    Apr 3, 2024
    60
    搞个 dev container 装好后备份, 下次需要可以重新弄一个
    laters
    laters
    OP
    Apr 3, 2024
    62
    @DTCPSS WinGet 有可视化工具吗
    laters
    laters
    OP
    Apr 3, 2024
    63
    @xwwsxp 感觉像虚拟机
    laters
    laters
    OP
    Apr 3, 2024
    64
    @rick13 有具体官网地址吗?
    laters
    laters
    OP
    Apr 3, 2024
    65
    @sankooc 这个好像虚拟机
    laters
    laters
    OP
    Apr 3, 2024
    66
    @bigtear #22 好像版本管理,但不是自动话脚本
    laters
    laters
    OP
    Apr 3, 2024
    67
    @reeco windows 用不了吧
    laters
    laters
    OP
    Apr 3, 2024
    68
    @ladeo 没看懂是干吗的
    laters
    laters
    OP
    Apr 3, 2024
    69
    @imzcc 这个好像是版本管理,不能自动安装一些开发工具
    laters
    laters
    OP
    Apr 3, 2024
    70
    @THESDZ 这个好像是版本管理,不能自动安装一些开发工具
    laters
    laters
    OP
    Apr 3, 2024
    71
    @iorilu 这个可以给实体机用吗? 例如来了一个员工, 我可以在它电脑上装一套安卓 node 的开发环境 跟自己手动装效果一样吗
    laters
    laters
    OP
    Apr 3, 2024
    72
    @noahlias 这个可以给实体机用吗? 例如来了一个员工, 我可以在它电脑上装一套安卓 node 的开发环境 跟自己手动装效果一样吗
    laters
    laters
    OP
    Apr 3, 2024
    73
    @zsh2517 第一种, 如果是安装包怎么实现下载和安装到指定位置,包括安装过程中的选项, 第二种 ,可以给实体机用吗? 例如来了一个员工, 我可以在它电脑上装一套安卓 node 的开发环境 跟自己手动装效果一样吗
    laters
    laters
    OP
    Apr 3, 2024
    74
    @bigtear #23 可以给实体机用吗? 例如来了一个员工, 我可以在它电脑上装一套安卓 node 的开发环境 跟自己手动装效果一样吗
    laters
    laters
    OP
    Apr 3, 2024
    75
    @sdwgyzyxy 可以给实体机用吗? 例如来了一个员工, 我可以在它电脑上装一套安卓 node 的开发环境 跟自己手动装效果一样吗
    Features
    Features
    Apr 4, 2024
    76
    做个 windows 镜像,拿到机器重装一下系统
    winRain
    winRain
    Apr 4, 2024
    77
    如果公司不大的话,就直接搞一下 powershell 脚本。公司大一些的话,就可以直接买那种自动化装软件的自动工具,一般都是直接给运维部门搞了,这个东西很成熟,搜一下应该能搜出来
    dayeye2006199
    dayeye2006199
    Apr 4, 2024 via Android
    78
    devcontainer, vagrant
    panda1001
    panda1001
    Apr 4, 2024 via Android
    79
    virtualbox + vagrant ,脚本参考 github action 各种 script ,虚拟机镜像可以迁移,也可以在实体机运行
    laters
    laters
    OP
    Apr 4, 2024
    81
    @ShadowPower #17 怎么实现下载和安装到指定位置,包括安装过程中的选项
    laters
    laters
    OP
    Apr 4, 2024
    82
    @dayeye2006199 devcontainer 看起来像虚拟机 ,例如来了一个员工, 我可以在它电脑上装一套安卓 node 的开发环境 ,跟自己手动装效果一样吗 怎么实现下载和安装到指定位置,包括安装过程中的选项
    laters
    laters
    OP
    Apr 4, 2024
    83
    @panda1001 例如来了一个员工, 我可以在它电脑上装一套安卓 node 的开发环境 ,跟自己手动装效果一样吗 怎么实现下载和安装到指定位置,包括安装过程中的选项
    bsg1992
    bsg1992
    Apr 4, 2024
    84
    搞一个桌面端软件 类似软件管家那种。需要什么环境直接在里面选就好了。
    无法就是做点脚本处理,安装一下环境
    smilenceX
    smilenceX
    Apr 4, 2024
    85
    用自己的擅长的技术写个程序,应该可以很轻松搞定这件事。
    zbowen66
    zbowen66
    Apr 4, 2024
    86
    我每次都是 TimeMachine 或点对点迁移
    zbowen66
    zbowen66
    Apr 4, 2024
    87
    @zbowen66 #86 我现在的系统还是 6 年前黑苹果上 MacOS 10.13 的备份,现在白苹果换了一个又一个,系统升了一轮又一轮,系统环境还是最初在黑苹果上配置的。之前用 Windows 的时候动不动就重装系统,对比之下,MacOS 真省心,没别的意思,推荐开发者们早日上 Mac
    8E9aYW8oj31rnbOK
    8E9aYW8oj31rnbOK
    Apr 4, 2024
    88
    虚拟机,

    一次操作,到处运行
    laters
    laters
    OP
    Apr 4, 2024
    89
    @Leonkennedy2 有些场景不行吧,例如给客户环境配置开发环境
    loading
    loading
    Apr 4, 2024
    90
    docker+vscode
    laters
    laters
    OP
    Apr 4, 2024
    91
    @loading 请教下如何实现在宿主机可以直接访问 docker 部署的东西, 我想直接给别人的物理机直接用
    menghuan1918
    menghuan1918
    Apr 4, 2024
    92
    微软官方的 winget 应该就可以做到部分,比如安装 nvm:

    winget install --id=CoreyButler.NVMforWindows -e

    有个 winstall 的网站可以查找包然后生成安装指令
    YGHMXFAL
    YGHMXFAL
    Apr 4, 2024 via Android
    93
    你先在虚拟机(或者物理机也行)里全新安装系统,配置好一切环境,打快照①

    然后执行“WINDOWS 通用化”,打快照②

    (如果执行通用化失败,就必须还原到快照①,然后重新开始通用化,直到通用化成功)

    然后使用 DISM 来备份虚拟机里的 systemroot,也就是俗称得“C 盘”,这个备份镜像就是你需要的成品

    来了一个新员工,给 TA 的电脑还原备份镜像,使用 BCDBOOT 重建 ESP

    然后开机,走 OOBE 流程,再更新,再打驱动,一切就绪,统一地开发环境就好了

    当然其中小坑不少,你要是员工规模不是特别大,搞这一套可能大材小用了,你自己看着办
    laters
    laters
    OP
    Apr 4, 2024
    94
    @YGHMXFAL 好的,感谢,但如果有些是旧电脑, 需要在原本旧电脑上安装一些软件和环境,这种方式是不是就不行了
    CrackTC
    CrackTC
    Apr 4, 2024 via Android
    95
    nixos+1
    E790A8
    E790A8
    Apr 4, 2024 via Android
    96
    @daimiaopeng 逮到😉
    YGHMXFAL
    YGHMXFAL
    Apr 4, 2024 via Android
    97
    @laters #94 嗯,如果是在已有环境上修修补补,那确实这一套方案就不合适

    这其实是一套“裸机部署/灾难恢复”方案,会完全覆盖目标电脑的系统+软件+数据
    james122333
    james122333
    Apr 4, 2024 via Android
    98
    想要白嫖思路? 门都没有~~~
    datocp
    datocp
    Apr 5, 2024 via Android
    99
    这种 2014 年前在培训机房用得最多的就是 autoit ,
    像 ncre 考试的软件通过 psexec 进行局域网远程登录批量安装
    像 photoshop/autocad 都是可以根据窗口关键字激活当前窗口,并点击下一步,包括序列号的自动提取,自动录入,自动生成,再次录入到软件,整个过程直到软件激活都是可以完成的。
    laters
    laters
    OP
    Apr 5, 2024
    100
    @CrackTC nixos 没办法自动化安装软件吧
    1  2  
    ❮ ❯
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   3100 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 119ms · UTC 04:42 · PVG 12:42 · LAX 20:42 · JFK 23:42
    ♥ Do have faith in what you're doing.