yazoox
V2EX  ›  Windows

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

  •  
  •   yazoox · Feb 21, 2022 · 5808 views
    This topic created in 1720 days ago, the information mentioned may be changed or developed.

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

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

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

    所以,特来请教一下。

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

    谢谢!

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

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

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

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

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

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

    至于“有没有已经写好的脚本,能够安装大多数 windows 下台下的开发工具”,我并没有发现有,但既然你都知道 scoop 了,就先自己写 powershell script 安装自己需要的软件,无法满足需求再说。
    dragonPunch
    dragonPunch
    Feb 22, 2022
    21
    chocolatey 解君愁 via https://chocolatey.org/
    dragonPunch
    dragonPunch
    Feb 22, 2022
    22
    @dragonPunch 补充说明:符合 po 主的批量静默安装+自动配置要求
    DGideas
    DGideas
    Feb 22, 2022
    23
    @yazoox 很可爱啊!小金毛!
    xiaoshiguang9
    xiaoshiguang9
    Feb 22, 2022
    24
    楼主写好了来 v 站分享下啊
    heaton_nobu
    heaton_nobu
    Feb 22, 2022
    25
    PowerShell DSC
    zalss
    zalss
    Feb 22, 2022
    26
    非常需要这个!
    Orchestraa
    Orchestraa
    Feb 22, 2022
    27
    nix
    g00001
    g00001
    Feb 23, 2022
    28
    这个用什么编程语言写应当都不难,就是一个简单的下载。
    不过很多安装包比较大,安装可以是静默自动安装,没个界面不太方便,最好用能开发图形界面的桌面开发工具,例如 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
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1523 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 65ms · UTC 07:08 · PVG 15:08 · LAX 23:08 · JFK 02:08
    ♥ Do have faith in what you're doing.