V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
升级到 Windows 11
yazoox
V2EX  ›  Windows

想在 windows 下面写一个脚本,一键安装开发环境,用啥写比较好写一些?

  •  
  •   yazoox · 228 天前 · 2589 次点击
    这是一个创建于 228 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如: 检查 python 2.x, python 3.x 有没有安装,没有安装就下载安装(默认就最新版本,可以通过参数指定版本) 检查 nodejs, 没有就下载安装(同上) 检查 javaruntime, ... 检查 visual studio ,... 以及 一些有安装包,或者安装脚本,并且支持静默安装的工具 ...

    本来想用 windows command line ,但这个“太弱了”,使用起来很“难受”,还不好调试,powershell 不太熟。难道要用 python 或者 javascript ?

    windows 平台下有一个 scoop 还是啥,不知道能否写个脚本,让 scoop 一个一个安装工具?

    所以,特来请教一下。

    或者,有没有已经写好的脚本,能够安装大多数 windows 下台下的开发工具,剩下的,我再补充一下?

    谢谢!

    28 条回复    2022-02-23 10:15:44 +08:00
    DGideas
        1
    DGideas  
       228 天前
    看到楼主头像就点进来了。。。学学 PowerShell 如何
    k5ye533
        2
    k5ye533  
       228 天前
    Nodejs
    yazoox
        3
    yazoox  
    OP
       228 天前
    @DGideas 我的头像咋了?:-)
    CallMeReznov
        4
    CallMeReznov  
       228 天前
    winget
    不过这玩意儿也是需要安装的.
    然后利用 powershell 来检测系统环境后使用 winget 安装.
    abear
        5
    abear  
       228 天前
    rust
    dcsuibian
        6
    dcsuibian  
       228 天前
    我也有这个问题,想做个一键配置脚本。
    装软件用 winget 就好,但对于图形化又不带同步功能的程序来说,装好了怎么配置还是个难题。
    yejinmo
        7
    yejinmo  
       228 天前
    VBS / BAT 就可以实现这些操作,但是为了良好的开发体验及用户体验,建议 C#(.Net Framework) 写个程序,Windows 原生运行,不需要安装运行时,结合 Costura.Fody 实现单文件部署,用户体验也不错
    chengyiqun
        8
    chengyiqun  
       228 天前
    scoop 可以, 但是就是下载多半需要翻墙, 需要配置代理先. 貌似没有傻瓜式方案
    bpazy
        9
    bpazy  
       228 天前
    scoop? 缺点是 GUI 类软件无法安装(比如 VS ),但一般各种环境也没 GUI 啥事。

    我是安装 scoop 准备了一个 ps 脚本,通过 scoop 安装依赖再准备了一个 ps 脚本,地址在这可以参考下: https://github.com/Bpazy/my-scoop

    前段时间电脑折腾崩了,用这套方案非常快就恢复开发环境了。
    MuSeCanYang
        10
    MuSeCanYang  
       228 天前
    AU3.
    feilong
        11
    feilong  
       228 天前 via Android
    choco ?
    不过 PowerShell 还是没回避掉
    LifStge
        12
    LifStge  
       228 天前
    @bpazy 脚本做好 很方便 不过就是 环境的依赖配置不强的 或者同步配置备份配置做的好的 就行 如果不是 也是折腾 这种情况就还是配置好做备份来的方便
    bpazy
        13
    bpazy  
       228 天前
    @LifStge 没错。但同步、备份配置也是一个挺折腾的事情,我也想求一个好的方案。

    目前我的方案是映射配置文件到 onedrive 中,多台设备均需配置一次,就可以多地同步、备份配置了。
    Pipecraft
        14
    Pipecraft  
       228 天前
    可以使用支持跨平台,自己熟练的脚本语言。比如 python 。
    这样可以在多个平台用一种语言编写,复用代码,并且容易维护。
    手动安装 python, 然后其他用脚本一键安装就可以了。
    tabris17
        15
    tabris17  
       228 天前
    scoop 的安装源很多是 github 上的,你的目标主机不能科学上网的话,安装不了
    choco 也一样
    tcpdump
        16
    tcpdump  
       227 天前
    @yazoox 很像他养的宠物
    phiysng
        17
    phiysng  
       227 天前
    如果是新系统的话,其实也可以考虑使用 Dism++或者类似的工具制作镜像,镜像里面打包需要的环境。
    使用的时候直接通过镜像还原。

    scoop 国内不挂代理基本没法用。
    RikkaW
        18
    RikkaW  
       227 天前
    用 scoop ,把 ~/scoop 文件夹复制走后 scoop reset * 就可以。
    lyxeno
        19
    lyxeno  
       227 天前 via Android
    choco 有 import 和 export ,不过也得先用 powershell 脚本安装 choco
    okampfer
        20
    okampfer  
       227 天前
    必须 powershell ,而且是 powershell-core ,开源的、跨平台的 powershell https://github.com/powershell/powershell

    scoop 安装软件当然也可以用 powershell 写。

    至于“有没有已经写好的脚本,能够安装大多数 windows 下台下的开发工具”,我并没有发现有,但既然你都知道 scoop 了,就先自己写 powershell script 安装自己需要的软件,无法满足需求再说。
    dragonPunch
        21
    dragonPunch  
       227 天前
    chocolatey 解君愁 via https://chocolatey.org/
    dragonPunch
        22
    dragonPunch  
       227 天前
    @dragonPunch 补充说明:符合 po 主的批量静默安装+自动配置要求
    DGideas
        23
    DGideas  
       227 天前
    @yazoox 很可爱啊!小金毛!
    xiaoshiguang9
        24
    xiaoshiguang9  
       227 天前
    楼主写好了来 v 站分享下啊
    heaton_nobu
        25
    heaton_nobu  
       227 天前
    PowerShell DSC
    zalss
        26
    zalss  
       226 天前
    非常需要这个!
    xipuxiaoyehua
        27
    xipuxiaoyehua  
       226 天前
    nix
    g00001
        28
    g00001  
       226 天前
    这个用什么编程语言写应当都不难,就是一个简单的下载。
    不过很多安装包比较大,安装可以是静默自动安装,没个界面不太方便,最好用能开发图形界面的桌面开发工具,例如 aardio ,举几个例子:

    用 aardio 自动安装 Node.js
    -------------------------------
    import nodeJs;
    nodeJs.install();

    用 aardio 自动安装 JRE
    -------------------------------
    import java.jre.v8;
    import java.jre.v8ora;
    import java.jre.v6;

    用 aardio 自动安装 Go 语言
    -------------------------------
    import golang;
    golang();

    用 aardio 自动安装 Rust
    -------------------------------
    import process.rust;
    process.rust.install();

    用 aardio 自动安装 julia
    -------------------------------
    import julia;

    用 aardio 自动安装 Ruby
    -------------------------------
    import process.ruby
    import process.ruby.install();

    用 aardio 自动安装 VS Code
    -------------------------------
    import process.code;
    process.code.install();

    用 aardio 自动安装 Electron
    -------------------------------
    import electron.runtime

    用 aardio 自动安装 ChromDriver 自动匹配浏览器版本
    -------------------------------
    import chrome.driver

    aardio 自带的 Python 运行库( 这个是自带的绿色版,不用安装)
    -------------------------------
    import py2 Python 2.7
    import py3 Python 3.8
    import py3.4 Python 3.4
    import py3.6 Python 3.6
    import py3.10 Python 3.10
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2360 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 80ms · UTC 10:02 · PVG 18:02 · LAX 03:02 · JFK 06:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.