Windows下强大的包管理器(二)

2023-11-19

BB Time

上一篇里介绍了winget包管理器的使用,这一篇里咱们说一下scoop包管理器.
这个包管理器出现的很早,也很成熟了,用起来更接近Linux终端的体验.我是作为winget的补充来使用的.
主要用来管理我的开发环境.

官方解释

项目链接

Scoop is a command-line installer for Windows.
Scoop 是一款Windows下的命令行软件管理工具.

What does Scoop do?

Scoop installs programs from the command line with a minimal amount of friction. It:

  • Eliminates permission popup windows
  • Hides GUI wizard-style installers
  • Prevents PATH pollution from installing lots of programs
  • Avoids unexpected side-effects from installing and uninstalling programs
  • Finds and installs dependencies automatically
  • Performs all the extra setup steps itself to get a working program

Scoop is very scriptable, so you can run repeatable setups to get your environment just the way you like, e.g.:

scoop install sudo
sudo scoop install 7zip git openssh --global
scoop install aria2 curl grep sed less touch
scoop install python ruby go perl

简单来说,他比winget更强大(只是不够本土化,winget的软件本土化做的要更好一些,但对我来说在环境管理方面,scoop也有不可替代性).

安装教程

打开Windows Terminal后输入

iwr -useb get.scoop.sh | iex

即可完成安装

PS C:\Users\13538> iwr -useb get.scoop.sh | iex
Initializing...
Downloading...
Extracting...
Creating shim...
Adding ~\scoop\shims to your path.
Scoop was installed successfully!
Type 'scoop help' for instructions.

我在安装的时候报错了

PS C:\Users\13538> iwr -useb get.scoop.sh | iex
Initializing...
PowerShell requires an execution policy in [Unrestricted, RemoteSigned, ByPass] to run Scoop. For example, to set the execution policy to 'RemoteSigned' please run 'Set-ExecutionPolicy RemoteSigned -Scope CurrentUser'.
Abort.

只需要按照提示执行一下

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

之后再重新执行安装程序即可

配置教程

修改用户安装程序和全局安装程序默认安装位置

直接修改环境变量

在这里插入图片描述

命令行方式
$env:SCOOP='D:\Scoop Data'
[Environment]::SetEnvironmentVariable('SCOOP', $env:SCOOP, 'User')
$env:SCOOP_GLOBAL='D:\Scoop Data'
[Environment]::SetEnvironmentVariable('SCOOP_GLOBAL', $env:SCOOP_GLOBAL, 'Machine')

未完待续…

使用教程

查找软件

查找指定软件scoop search 软件名

PS C:\Users\13538> scoop search neofetch
Results from local buckets...

Name     Version Source Binaries
----     ------- ------ --------
neofetch 7.1.0   main

搜索全部软件scoop search 会直接展示所有软件

PS C:\Users\13538> scoop search
Results from local buckets...

Name                                    Version                           Source Binaries
----                                    -------                           ------ --------
1password-cli                           2.7.1                             main
7zip                                    22.01                             main
7zip19.00-helper                        19.00                             main
abc                                     1.0.0                             main
ack                                     3.6.0                             main
.......(省略)
zoxide                                  0.8.3                             main
zstd                                    1.5.2                             main

安装软件

命令格式为scoop install 软件名

PS C:\Users\13538> scoop install neofetch
WARN  Purging previous failed installation of neofetch.
ERROR 'neofetch' isn't installed correctly.
Removing older version (7.1.0).
'neofetch' was uninstalled.
Installing 'neofetch' (7.1.0) [64bit] from main bucket
neofetch (333.6 KB) [=========================================================================================] 100%
Checking hash of neofetch ... ok.
Linking ~\scoop\apps\neofetch\current => ~\scoop\apps\neofetch\7.1.0
Creating shim for 'neofetch'.
'neofetch' (7.1.0) was installed successfully!

卸载软件

命令格式为scoop uninstall 软件名

PS C:\Users\13538> scoop uninstall aria2
Uninstalling 'aria2' (1.36.0-1).
Removing shim 'aria2c.shim'.
Removing shim 'aria2c.exe'.
Unlinking ~\scoop\apps\aria2\current
'aria2' was uninstalled.

升级软件

查看可更新软件scoop update

PS C:\Users\13538> scoop update
Updating Scoop...
Updating 'main' bucket...
Scoop was updated successfully!

更新指定软件scoop update 软件名

PS C:\Users\13538> scoop update neofetch
neofetch: 7.1.0 (latest version)
Latest versions for all apps are installed! For more information try 'scoop status'

更新全部软件scoop update *

PS C:\Users\13538> scoop update *
Latest versions for all apps are installed! For more information try 'scoop status'

即可升级所有软件

检查

查看软件状态是否为最新

PS C:\Users\13538> scoop status
Scoop is up to date.
Everything is ok!

检查scoop自身我的还真查出问题来了 有问题按提示操作就好

PS C:\Users\13538> scoop checkup
WARN  LongPaths support is not enabled.
  You can enable it by running:
    sudo Set-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem' -Name 'LongPathsEnabled' -Value 1
  (Requires 'sudo' command. Run 'scoop install sudo' if you don't have it.)
ERROR 'Inno Setup Unpacker' is not installed! It's required for unpacking InnoSetup files. Please run 'scoop install innounp'.
ERROR 'dark' is not installed! It's required for unpacking installers created with the WiX Toolset. Please run 'scoop install dark' or 'scoop install wixtoolset'.
WARN  Found 3 potential problems.
......(按提示操作)
PS C:\Users\13538> scoop checkup
No problems identified!

清理缓存

每当scoop下载了软件之后,软件包文件会被默认缓存下来,即使卸载了软件,缓存也不会被删除,想要清理缓存,可以使用scoop cache rm 软件名

PS C:\Users\13538> scoop cache rm sudo
Removing https_raw.githubusercontent.com_lukesampson_psutils_c7116ac143ca81f223e6091d0974f45ac241eb1d_sudo.ps1...
Deleted: 1 file, 2.2 KB

想要清除所有缓存,可以使用scoop cache rm *

PS C:\Users\13538> scoop cache rm *
Removing https_7-zip.org_a_7z2201-x64.msi...
Removing https_github.com_aria2_aria2_releases_download_release-1.36.0_aria2-1.36.0-win-64bit-build1.zip...
Removing https_raw.githubusercontent.com_ScoopInstaller_Binary_master_dark_dark-3.11.2.zip...
Removing https_github.com_git-for-windows_git_releases_download_v2.38.0.windows.1_PortableGit-2.38.0-64-bit.7z.exe_dl.7z...
Removing https_raw.githubusercontent.com_ScoopInstaller_Binary_master_innounp_innounp050.rar...
Removing https_raw.githubusercontent.com_dylanaraps_neofetch_7.1.0_neofetch...

删除软件旧版本

软件升级后,其旧版本仍会被保留下来可以使用scoop cleanup 软件名清理指定软件的旧版本

PS C:\Users\13538> scoop cleanup sudo
sudo is already clean

scoop cleanup *可以清理全部软件的旧版本

PS C:\Users\13538> scoop cleanup *
Everything is shiny now!

查看软件主页

scoop home 软件名可以查看指定软件的主页,会自动使用默认浏览器直接打开

切换软件版本

多个版本的软件共存时,可以通过scoop reset 想要使用的版本名称进行切换,比如jdk8和jdk11


添加额外的仓库bucket

scoop中的仓库被叫做bucket,安装好的scoop默认会带有一个主仓库,名字就叫Scoop,主仓库里面的软件,有很多,但是基本都是比较适合程序员的软件,更重要的一点是,要入选主仓库的软件,都是没有GUI的,也就是说都是命令行软件,而scoop官方还有一个第三方bucket,里面有更多的常用软件,所以我们要添加额外的仓库

查看可添加仓库

想要查看可添加仓库

PS C:\Users\13538> scoop bucket known
main
extras
versions
nirsoft
php
nerd-fonts
nonportable
java
games

也可以添加不在上述列表的非官方仓库,命令格式为scoop bucket add 仓库名 仓库的github地址
第三方仓库搜索

PS C:\Users\13538> scoop bucket add DEV-tools "https://github.com/anderlli0053/DEV-tools"
Checking repo... OK
The DEV-tools bucket was added successfully.

查看已经添加的仓库

PS C:\Users\13538> scoop bucket list

Name   Source                                   Updated           Manifests
----   ------                                   -------           ---------
extras https://github.com/ScoopInstaller/Extras 2022/10/7 8:47:10      1692
main   https://github.com/ScoopInstaller/Main   2022/10/7 8:47:15      1095

删除已经添加的仓库

命令格式为scoop bucket rm 仓库名

PS C:\Users\13538> scoop bucket rm extras
             -------           ---------
extras https://github.com/ScoopInstaller/Extras 2022/10/7 8:47:10      1692
main   https://github.com/ScoopInstaller/Main   2022/10/7 8:47:15      1095

删除已经添加的仓库

命令格式为scoop bucket rm 仓库名

PS C:\Users\13538> scoop bucket rm extras
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Windows下强大的包管理器(二) 的相关文章

  • git 认为文件已更改

    我在一台机器上对一个项目做了一些工作 然后推送到 github 在另一台机器上克隆并做了一些工作 然后推送 然后我回到第一台机器并做了一个pull 现在 第一台机器认为项目中最初的所有文件都已更改 我试过了 git checkout f a
  • 无法加载 JNI 共享库 (JDK)

    当我尝试打开时Eclipse http www eclipse org 弹出对话框指出 无法加载 JNI 共享库 C JDK bin client jvm dll 此后 Eclipse 强制关闭 我想提出以下几点 我检查了这条路径上是否存在
  • 可以读取目标文件吗?

    我很好奇 obj文件 我几乎不知道它们是什么 或者它们包含什么 所以我用 Vim 文本编辑器打开它们 我在里面发现了一种类似外星人的语言 有什么办法可以理解它们代表什么以及它们的内容是什么 另外 它们的用途是什么 Thanks Sure 但
  • 如何验证文件名称在 Windows 中是否有效?

    是否有一个 Windows API 函数可以将字符串值传递给该函数 该函数将返回一个指示文件名是否有效的值 我需要验证文件名是否有效 并且我正在寻找一种简单的方法来完成此操作 而无需重新发明轮子 我正在直接使用 C 但针对的是 Win32
  • Node.js 升级在 Windows 中仍然显示旧版本

    我已使用 msi 安装程序下载并安装了新版本的 nodejs 4 1 2 之后我跑了node v 但它仍然显示旧版本 0 12 2 我尝试重新启动Windows 甚至卸载nodejs并重新安装它 但仍然显示相同的内容 为什么会发生这种情况
  • 如何使我的表单标题栏遵循 Windows 深色主题?

    我已经下载了Windows 10更新包括黑暗主题 文件资源管理器等都是深色主题 但是当我创建自己的 C 表单应用程序时 标题栏是亮白色的 如何使我自己的桌面应用程序遵循我在 Windows 中设置的深色主题 你需要调用DwmSetWindo
  • Git difftool 未启动外部 DiffMerge 程序

    我一直遵循 戴夫的博客条目 http www davesquared net 2009 05 setting up git difftool on windows html 链接在此answer https stackoverflow co
  • Visual C++ 找不到“Windows 类型”,如 PVOID、DWORD、ULONG 等

    Windows 似乎无法找到任何这些类型 我完全不知道该怎么办 我在 MSDN 上找到的东西似乎表明它们是默认包含的 但它们在 Native 程序或 CLR 程序中不起作用 我收到的具体错误是
  • 如何在 Windows 下向 .sh 脚本传递参数?

    我正在尝试在 Windows 下执行 sh 脚本 我安装了 Git 它允许我执行 sh 文件 但是 如果不使用 sh 作为执行前缀 我似乎无法传递任何参数 我的 sh 文件 echo Test 1 如果我用以下命令执行它 gt sh tes
  • sqlite3-ruby gem:无法构建 gem 本机扩展

    Update 看看这个后续问题 Windows 上的 Gem 更新 它坏了吗 https stackoverflow com questions 134581 gem update on windows is it broken 在 Win
  • 使用 Visual C++ 在桌面上绘图

    我正在编写一个 opencv 应用程序 使用 Visual Studio VC 控制台应用程序使用激光束进行绘图 我想在桌面上画线 我知道绘图功能在 GDI32 dll 中可用 但对如何将 GDI32 dll 与我的 vc 代码集成感到困惑
  • 如何在拥有句柄时检查给定进程是否正在运行

    我在用ShellExecuteEx启动应用程序 成功开始阅读后TShellExecuteInfo hProcess获取已启动进程的句柄 我想定期检查我的应用程序启动的进程是否仍在运行 两个或多个同名进程可以同时运行 我想确保我的应用程序正在
  • 已达到网络 BIOS 命令限制

    我的 ASP Net 应用程序从另一台 Windows 服务器上的共享文件夹获取文件 当请求增加时 我收到以下错误 The network BIOS command limit has been reached 我已按照以下步骤操作微软 K
  • 使用 Windows 网络共享目录时 Hg 存储库损坏

    我希望我能在这里得到一些帮助 因为 SO UX 比 Mercurial 邮件列表更好 多年来我一直在家里愉快地使用 Mercurial 我还将它与 Bitbucket Cloud 一起用于一些更严肃 但仍然是爱好 的项目 去年 我将我的团队
  • “以管理员身份运行”时的 Windows 批处理文件起始目录

    我有一个位于目录中的批处理文件 也必须从那里运行 因为它会更新该目录中的文件 这工作得很好 除非用户以管理员身份运行批处理文件 Vista 上需要 那么起始目录是C Windows System32 有什么办法仍然能够知道批处理文件是从哪个
  • PHPStorm - 无效的后代文件名

    我正在尝试将 Windows 7 PC 上的本地 PHPStorm 项目与 Ubuntu 服务器同步 当我尝试任何类型的连接 例如 测试 SFTP 连接 时 它会失败并显示 Invalid descendent file name C np
  • 批处理文件:FOR 循环中的 GOTO

    我有一个带有 FOR 循环的批处理文件 在循环中 我必须等待进程结束 为此我使用了 IF 和 GOTO 问题是 GOTO 打破了循环 我尝试寻找其他解决方案 但没有找到任何东西 如何做呢 echo off for f tokens a in
  • 查找所有 DHCP 和 DNS 服务器

    我有一位客户要求我找到他所有的 Dhcp 和 DNS 服务器以及一些附加信息 例如 DC 服务器和操作系统 所以我决定尝试提高我的 powershell 技能 但我对此还很陌生 所以我写了这个脚本 但我想仍然缺少一些东西 因为它不起作用 编
  • 开放简历fisherfaces

    我有这个问题 当我使用 vs2010 调试 opencv 2 4 0 facetec demo c 运行时 程序出现此错误 OpenCV错误 未知函数中图像步长错误 矩阵不连续 因此其行数无法更改 文件 src opencv modul e
  • x86 LargeAddressAware 兼容性的单元测试

    对于 win32 可执行文件 x86 我们可以设置 LargeAddressAware 标志 以便它在 x64 Windows 上运行时可以访问 4 GB 而不是仅 2 GB 的虚拟地址空间 这看起来很吸引人 然而 这也存在风险 例如参见

随机推荐

  • 最全 VxLAN 知识详解

    什么是VXLAN VXLAN Virtual eXtensible Local Area Network 虚拟扩展局域网 是由IETF定义的NVO3 Network Virtualization over Layer 3 标准技术之一 是对
  • 容器修改完成的镜像打包到自己的docker hub

    容器修改完成的镜像打包到自己的docker hub 一 步骤 首先 我们基于当前的容器进行了修改 比如 我们首先创建了一个Ubuntu的容器 然后在容器当中安装了python3 安装了Django框架 安装NGINX服务器 安装了mysql
  • rt-thread中使用WebClient WebNet总结 http学习

    HTTP学习资料 1 需求背景 WebClient主要用来传输文件 WebNet用来支持cgi接口 需要支持get post put delete方式 2 webnet中使用 2 1 webnet存在问题 2 11 rt thread 使用
  • Web基础 HTML标签 六种超链接标签的使用方式

    超链接标签 重点 1 链接的语法格式 a href 跳转目标链接 target self 文本或图像 a a 标签里的a是单词anchor的的缩写 意为 锚 两个属性的作用如下 属性 作用 href 用于指定链接目标的url地址 必须属性
  • 【物联网毕设基础】NBIOT 窄带物联网

    文章目录 1 简介 2 NBIOT简介 3NB的型号介绍 3 1 BC95 3 2 BC35 3 3 BC28 3 4 BC26 3 5 BC20 3 6 BC30 4 NB物联网卡 5 OpenCPU 6 BC260模块详解 6 1 基本
  • 【周末闲谈】二进制VS三进制

    个人主页 个人主页 系列专栏 周末闲谈 周末闲谈 第一周 二进制VS三进制 文章目录 周末闲谈 前言 一 效率 二 三进制计算机 三进制计算机的最后 总结 前言 作为计算机是20世纪最先进的科学技术发明之一 对人类的生产活动和社会活动产生了
  • yolov7 onnx tensorrt 批量预测 全网首发

    目录 deepstream yolov7 mask yolov5的TensorRT部署 动态batch 开源tensorrt 调研笔记 tensorrt 加载模型batch size为 1的原因
  • JS解混淆-AST还原案例

    目录 一 js混淆了解 1 为什么要混淆 2 常见的混淆模样 ob sojson jsfuck AAencode jjEncode eval 二 AST初步认识 三 解混淆常用的方法 一 js混淆了解 1 为什么要混淆 js混淆的作用 为了
  • 为什么计算机中的整数要用补码表示?补码表示有什么好处?

    为什么计算机中的整数要用补码表示 补码表示有什么好处 在计算机中 补码可谓是十分神奇而又重要的存在 我们知道整数在计算机内部的机器数一般都是补码表示的 这里给出几个这样表示的好处 符号位可以和数值为一起参加运算 比如俩个负数相加 只要结果在
  • 风投平台

    一 天使湾创投 http www tisiwi com 二 天使汇 http angelcrunch com 三 蚂蚁天使 https www mayiangel com index htm 四 梦想小镇孵化器平台 http www dre
  • docker+jenkins+git搭建java自动化部署

    一 杂言 首先今天在写这篇文章的时候 刚好LOL洲际赛 RW赛前不被看好的情况下 为LPL扳回一城 RNG成功的在BO5最后一场拿下AFS LPL成功的拿下了洲际赛的冠军 恭喜LPL 田忌赛马的故事大家都耳熟能详 但是不可避免的也会出现逆转
  • pandas读取和存储CSV文件

    import pandas as pd import numpy as np read csv data pd read csv data temp 0 csv header None data DataFrame object data
  • 前端核心手写面试题(看你的马步扎实不扎实)

    防抖 防抖
  • c++类和对象--封装--属性和行为做整体

    封装的意义 1 将属性和行为当做一个整体来表现对象 类中的属性和行为统称为成员 属性又叫成员属性或成员变量 行为又叫成员函数或成员方法 案例 设计一个圆类 求圆的周长 include
  • 华为OD机试真题 Java 实现【机器人活动区域】【2023Q1 200分】

    一 题目描述 现有一个机器人 可放置于 M N的网格中任意位置 每个网格包含一个非负整数编号 当相邻网格的数字编号差值的绝对值小于等于 1 时 机器人可在网格间移动 问题 求机器人可活动的最大范围对应的网格点数目 说明 1 网格左上角坐标为
  • QT+ OpenGL学习

    文章目录 QT OpenGL QOpenGLWidget 不需要GLFW QOpenGLFunction X X Core 不需要GLAD 你好 三角形 顶点输入 顶点着色器 片段着色器 链接着色器 本节代码 元素缓冲对象EBO QT交互
  • haxm-windows_v7_5_6下载

    下载地址 https github com intel haxm releases download v7 5 6 haxm windows v7 5 6 zip 我已经下载好上传了 想自己去下载的小伙伴可以去上面的网站自己下载哦
  • 当今职场,正在加速淘汰 “巨婴员工”

    我担任过多家上市公司的技术高管职位 在工作中经常会遇到巨婴型员工 他们外在的表现是 不能够很好地管理自己 缺乏自律 缺乏起码的抗挫折能力和抗压能力 需要领导呵护着 同事们忍让着 作为一名管理者 绝不能放任团队中的巨婴存在 必须时刻保持团队的
  • STM32F4之ADC1【库函数操作】

    折腾了两天ADC多通道采样 采样的结果都很乱 完全不是预期值 在amobbs求助也没有找到结果 于是决定从简单开始 一步步折腾着破ADC ADC试验1实验说明 1 这个实验仅仅是初始化一个ADC 对其输入进行采样 2 使用STM32F4的A
  • Windows下强大的包管理器(二)

    Windows下强大的包管理器 Scoop BB Time 官方解释 What does Scoop do 安装教程 配置教程 修改用户安装程序和全局安装程序默认安装位置 直接修改环境变量 命令行方式 未完待续 使用教程 查找软件 安装软件