• scoop


    0 Preparation

    Installing Scoop to Custom Directory

    Assuming the target directory is C:\scoop, in a PowerShell command console, run:

    $env:SCOOP='C:\scoop'
    [environment]::setEnvironmentVariable('SCOOP',$env:SCOOP,'User')
    iwr -useb get.scoop.sh | iex
     

    Assuming you didn't see any error messages, Scoop is now ready to run.

    Installing global apps to custom directory

    Assuming the target directory is C:\apps, in a admin-enabled PowerShell command console, run:

    $env:SCOOP_GLOBAL='c:\apps'
    [environment]::setEnvironmentVariable('SCOOP_GLOBAL',$env:SCOOP_GLOBAL,'Machine')
    scoop install -g <app>

    1 Install

    In a PowerShell command console, run:

    Invoke-Expression (New-Object System.Net.WebClient).DownloadString('https://get.scoop.sh')

    or the shorter:

    iwr -useb get.scoop.sh | iex
     
    2 Install app

    Scoop 常用命令

    scoop help #查看帮助
    scoop help <某个命令> # 具体查看某个命令的帮助
    
    scoop install <app>   # 安装 APP
    scoop uinstall <app>  # 卸载 APP
    
    scoop list  # 列出已安装的 APP
    scoop search # 搜索 APP
    scoop status # 检查哪些软件有更新
    
    scoop update # 更新 Scoop 自身
    scoop update appName1 appName2 # 更新某些app
    scoop update *  # 更新所有 app (前提是需要在apps目录下操作)
    
    scoop bucket known #通过此命令列出已知所有 bucket(软件源)
    scoop bucket add bucketName #添加某个 bucket
    
    scoop cache rm <app> # 移除某个app的缓存

    安装卸载软件

    # 安装之前,通过 search 搜索 APP, 确定软件名称
    scoop search  xxx
    
    # 安装 APP
    scoop install AppName
    
    # 安装特定版本的 APP;语法 AppName@[version],示例
    scoop install git@2.23.0.windows.1
    
    # 卸载 APP 
    scoop uninstall #卸载 APP

    更新软件

    包含:如何禁用更新

    scoop update # 更新 Scoop 自身
    
    scoop update appName1 appName2 # 更新某些app
    
    # 更新所有 app (可能需要在apps目录下操作)
    scoop update *
    
    # 禁止某程序更新
    scoop hold <app>
    # 允许某程序更新
    scoop unhold <app>

    清除缓存与旧版本

    # 查看所有以下载的缓存信息
    scoop cache show
    
    # 清除指定程序的下载缓存
    scoop cache rm <app>
    
    # 清除所有缓存
    scoop cache rm *
    
    # 删除某软件的旧版本
    scoop cleanup <app>
    
    # 删除全局安装的某软件的旧版本
    scoop cleanup <app> -g
    
    # 删除过期的下载缓存
    scoop cleanup <app> -k

    别名

    ⚠️️ 注意:请在 Powershell 中运行下面的命令

    # 可用操作
    scoop alias add|list|rm [<args>]
    
    ## 添加别名,格式:
    scoop alias add <name> <command> <description>
    
    # 示例:(注意:必须在 Powershell中运行)
    scoop alias add st 'scoop status' '检查更新'
    # 检查已添加的别名
    scoop alias list -v
    
    Name Command      Summary
    ---- -------      -------
    st   scoop status 检查更新
    
    # 测试已添加的别名 st
    scoop st
    
    
    # 另一个示例:
    scoop alias add rm 'scoop uninstall $args[0]' '卸载某 app'

    在同一程序的不同版本之间切换

    使用命令:

    scoop reset [app]@[version]

    示例:

    scoop reset idea-ultimate-eap@201.6668.13
    
    scoop reset idea-ultimate-eap@201.6073.9
    
    # 切换到最新版本
    scoop reset idea-ultimate-eap

    对应版本的程序需要已经安装于本地系统中;所以在你清除某个软件的旧版本时考虑一下自己是否还会再次使用到此旧版本。

    另外 idea-ultimate-eap 切换过程可能需要更长时间。

    其它命令

    # 显示某个app的信息
    scoop info <app>
    
    # 在浏览器中打开某app的主页
    scoop home <app>
    
    # 比如
    scoop home git

    添加软件源 Bucket

    Scoop 可安装的软件信息存储在 Bucket(翻译为:桶)中,也可以称其为软件源。Scoop 默认的 Bucket 为 main ;官方维护的另一个 Bucket 为 extras,我们需要手动添加。

    # bucket的用法
    scoop bucket add|list|known|rm [<args>]

    添加 extras :

    scoop bucket add extras

    我们也可以添加第三方 bucket ,示例:

    scoop bucket add dorado https://github.com/h404bi/dorado

    并且明确指定安装此 bucket (软件源)中的的程序:

    scoop install dorado/<app_name>
    # 下面是dorado中特有的软件,测试其是否添加成功
    scoop search trash

    推荐的 Bucket(软件源):

    • extras:Scoop 官方维护的一个仓库,涵盖了大部分因为种种原因不能被收录进主仓库的常用软件(在我看来是必须要添加的)。地址:lukesampson/scoop-extras
    • nirsoft:是一个 NirSoft 开发的小工具的安装合集。NirSoft 制作了大量的小工具,包括系统工具、网络工具、密码恢复等等,孜孜不倦、持续更新。

     

    • dorado(添加了一些国内的app,比如 qqplayer ️)h404bi/dorado
    • ash258:Ash258/scoop-Ash258
    • java:添加后可以通过它安装各种 jdk 、 jre
    • nerd-fonts :包含各种字体
    # 先添加bucket
    scoop bucket add extras
    scoop bucket add nirsoft
    scoop bucket add dorado https://github.com/h404bi/dorado
    scoop bucket add Ash258 'https://github.com/Ash258/Scoop-Ash258.git'
    scoop bucket add nerd-fonts
    # 对于开发人员,可添加下面的两个
    scoop bucket add java
    scoop bucket add versions


    https://github.com/ivaquero/scoopet/blob/master/README_CN.md

    科研工具

    App自动更新原创
    CopyTranslator
    GeoGebra-Portable
    Gephi
    Julia-cn
    KingDraw
    LogSeq √ 已迁移至 Extras
    LyX-cn
    Mathpix Snipping Tool
    Mendeley Desktop
    Miniconda-cn
    NetLogo
    SageMath-cn
    TeXLive 拷贝自 dorado
    思源笔记 拷贝自 dorado
    语雀 拷贝自 dorado

    开发辅助

    App自动更新原创
    Cyberduck √ 已迁移至 Extras
    scoop-completion 拷贝自 Moeologist
    uTools 拷贝自 dorado
    VirtualBox [含扩展包] 拷贝自 Ash258
    VMware Workstation Pro 拷贝自 Ash258
    WinGet 拷贝自 Ash258
    傲梅分区助手

    日常办公

    App自动更新原创
    File Converter
    OBS Studio-cn
    Office Tool Plus
    RustDesk
    小狼毫输入法
    Wise Care 365
    WPSOffice × 拷贝自 dorado
    百度网盘
    腾讯会议 × 拷贝自 sushi

    社交休闲

    App自动更新原创
    钉钉
    洛雪音乐助手
    网易云音乐 拷贝自 dorado
    微信 拷贝自 dorado
    magnetW
    You-Get
     

    scoop bucket known
    
    main [默认]
    extras [墙裂推荐]
    versions
    nightlies
    nirsoft
    php
    nerd-fonts
    nonportable
    java
    games
    jetbrains

    这里,推荐一个网站,这个方便全网查询安装脚本所在 bucket



    bucket 更新时遇到问题

    情况是这样:当我运行 scoop update 进行更新时提示: extras bucket 更新失败。于是我将其删除后再添加,提示成功,但是它却把 main
    bucket (默认的 bucket) 给删除了。通过"scoop status"检查状态时出现 "These app
    manifests have been removed"并且下面列出了已被移除的软件名单。 那么如何解决此问题?

    我们需要重新添加 main bucket :

    scoop bucket add main #添加 main bucket

    网络问题导致app安装失败

    一个示例:

    scoop install mediainfo

    当安装 mediainfo 时由于网络问题,安装包无法下载,从命令行输出信息中可以看到如下
    内容

    ERROR Download failed! (Error 1) An unknown error occurred
    ERROR https://mediaarea.net/download/binary/mediainfo/19.09/MediaInfo_CLI_19.09_Windows_x64.zip
        referer=https://mediaarea.net/download/binary/mediainfo/19.09/
        dir=D:\Scoop\Applications\cache
        out=mediainfo#19.09#https_mediaarea.net_download_binary_mediainfo_19.09_MediaInfo_CLI_19.09_Windows_x64.zip
    
    ERROR & 'D:\Scoop\Applications\apps\aria2\current\aria2c.exe' --input-file='D:\Scoop\Applications\cache\mediainfo.txt'

    我们可以发现文件的下载路径和下载后的文件名称,这里 out= 后面的压缩包就是下载后
    文件的名称,(也可以在 scoop 的 cache 目录下的 mediainfo.txt 文件中找到下载路径与文
    件名称)

    然后我们可以尝试在浏览器或其他下载程序中(可以 fq 的程序中)下载该程序,下载完成
    后再更改文件名并将其放入 scoop 的 cache 目录,最后再次运行
    scoop install mediainfo 即可安装。

    如何利用 aria2 进行断点续传?

    先看具体示例:

    # 更新 vscode
    scoop update vscode-portable

    scoop 更新 vscode 时下载到 80%的时候 失败了(安装时处理方法也一样)。我们需要在提示中找到如下内容:

    'D:\Scoop\Applications\apps\aria2\current\aria2c.exe' --input-file='D:\Scoop\Applications\cache\vscode-portable.txt' 
    --user-agent='Scoop/1.0 (+http://scoop.sh/) PowerShell/5.1 (Windows NT 10.0; Win64; x64; Desktop)' 
    --allow-overwrite=true --auto-file-renaming=false 
    --retry-wait=2 --split=5 --max-connection-per-server=5 
    --min-split-size=5M --console-log-level=warn --enable-color=false 
    --no-conf=true --follow-metalink=true --metalink-preferred-protocol=https 
    --min-tls-version=TLSv1.2 --stop-with-process=15584 --continue

    我们从上面的信息中提取出下面的命令;若要进行断点续传,只需再次执行下面的命令即可:

    aria2c.exe --input-file='D:\Scoop\Applications\cache\vscode-portable.txt'
    

    当提示下载完成后,我们需要再次运行 scoop 对应的 app 更新命令(或安装命令),即可完成 app 更新(或安装):

    scoop update vscode-portable

    Aria2 的参数

    # aria2 在 Scoop 中默认开启
    scoop config aria2-enabled true
    # 关于以下参数的作用,详见aria2的相关资料
    scoop config aria2-retry-wait 4
    scoop config aria2-split 16
    scoop config aria2-max-connection-per-server 16
    scoop config aria2-min-split-size 4M

     

    安装和切换JDK、Python的版本

    这里需要使用 scoop reset 它的作用是:重置一个应用程序来解决冲突。

    命令格式为:

    scoop reset <java>[@<version>]

    安装和切换不同的 JDK 版本:

    PS C:> scoop bucket add java
    
    PS C:> scoop install oraclejdk
    Installing 'oraclejdk' (12.0.2-10) [64bit]
    
    PS C:> scoop install zulu6
    Installing 'zulu6' (6.18.1.5) [64bit]
    
    PS C:> scoop install openjdk10
    Installing 'openjdk10' (10.0.1) [64bit]
    
    PS C:> java -version
    openjdk version "10.0.1" 2018-04-17
    OpenJDK Runtime Environment (build 10.0.1+10)
    OpenJDK 64-Bit Server VM (build 10.0.1+10, mixed mode)
    
    PS C:> scoop reset zulu6
    Resetting zulu6 (6.18.1.5).
    Linking ~\scoop\apps\zulu6\current => ~\scoop\apps\zulu6\6.18.1.5
    
    PS C:> java -version
    openjdk version "1.6.0-99"
    OpenJDK Runtime Environment (Zulu 6.18.1.5-win64) (build 1.6.0-99-b99)
    OpenJDK 64-Bit Server VM (Zulu 6.18.1.5-win64) (build 23.77-b99, mixed mode)
    
    PS C:> scoop reset oraclejdk
    
    PS C:> java -version
    java version "12.0.2" 2019-07-16
    Java(TM) SE Runtime Environment (build 12.0.2+10)
    Java HotSpot(TM) 64-Bit Server VM (build 12.0.2+10, mixed mode, sharing)

    安装和切换不同的 Python 版本:

    $ scoop bucket add versions # add the 'versions' bucket if you haven't already
    
    $ scoop install python27 python
    python --version # -> Python 3.6.2
    
    # switch to python 2.7.x
    $ scoop reset python27
    python --version # -> Python 2.7.13
    
    # switch back (to 3.x)
    $ scoop reset python
    python --version # -> Python 3.6.2
     
  • 相关阅读:
    Grunt构建工具插件篇——之less工具
    Grunt构建工具能做哪些事?
    Grunt-几个常用的任务配置,加载,执行的写法
    单元测试任务包括哪些?
    单元测试的概念
    分享Grunt.js配置: watch + liveReload 实时监测文件变化自动刷新浏览器
    如何使用Grunt(好文)
    grunt安装详解及失败处理
    利用 Grunt (几乎)无痛地做前端开发 (一)之单元测试
    Grunt实现自动化单元测试
  • 原文地址:https://www.cnblogs.com/zhangjunrui/p/15938639.html
Copyright © 2020-2023  润新知