惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

B
Blog
C
Cybersecurity and Infrastructure Security Agency CISA
Microsoft Security Blog
Microsoft Security Blog
B
Blog RSS Feed
云风的 BLOG
云风的 BLOG
G
Google Developers Blog
Recent Announcements
Recent Announcements
A
About on SuperTechFans
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Google Online Security Blog
Google Online Security Blog
Google DeepMind News
Google DeepMind News
S
Schneier on Security
S
Secure Thoughts
T
The Exploit Database - CXSecurity.com
Martin Fowler
Martin Fowler
P
Proofpoint News Feed
Security Latest
Security Latest
Jina AI
Jina AI
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Recorded Future
Recorded Future
T
Tor Project blog
有赞技术团队
有赞技术团队
H
Hackread – Cybersecurity News, Data Breaches, AI and More
N
News | PayPal Newsroom
博客园 - 三生石上(FineUI控件)
MyScale Blog
MyScale Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Last Week in AI
Last Week in AI
F
Full Disclosure
Hacker News: Ask HN
Hacker News: Ask HN
Forbes - Security
Forbes - Security
D
DataBreaches.Net
人人都是产品经理
人人都是产品经理
NISL@THU
NISL@THU
C
Cisco Blogs
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Google DeepMind News
Google DeepMind News
Project Zero
Project Zero
IT之家
IT之家
T
Threatpost
Cyberwarzone
Cyberwarzone
O
OpenAI News
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
J
Java Code Geeks
P
Proofpoint News Feed
The Last Watchdog
The Last Watchdog
月光博客
月光博客
Latest news
Latest news
MongoDB | Blog
MongoDB | Blog
Apple Machine Learning Research
Apple Machine Learning Research

青空之蓝

[青空之蓝-2023] - 色彩 | 青空之蓝 [青空之蓝-2022] - 平静 | 青空之蓝 [青空之蓝-2021] - 远望 | 青空之蓝 浅谈垃圾回收 | 青空之蓝 浅谈泛型擦除 | 青空之蓝 浅谈单点登录 | 青空之蓝 使用 Kotlin 编写 Spring 测试 | 青空之蓝 设计模式系列文章 | 青空之蓝 从零实现一个 Java 微框架 - IoC | 青空之蓝 从零实现一个 Java 微框架 - 前言 | 青空之蓝 浅谈 JVM:类加载 | 青空之蓝 浅谈 IO | 青空之蓝 浅谈并发:synchronized & ReentrantLock | 青空之蓝 浅谈并发:CAS & AQS | 青空之蓝 浅谈并发:ThreadLocal | 青空之蓝 浅谈并发:三大特性 | 青空之蓝 浅谈组合注解 & 注解别名 | 青空之蓝 [青空之蓝-2020]-迷茫 | 青空之蓝 Java 系列文章 | 青空之蓝 HTTP 系列文章 | 青空之蓝 浅谈 EatWhatYouKill | 青空之蓝 浅谈可扩展线程池 | 青空之蓝 聊聊写框架 | 青空之蓝 聊聊现状-[2020-09] | 青空之蓝 浅谈并发:锁 | 青空之蓝 浅谈并发:基础 | 青空之蓝 浅谈缓存 | 青空之蓝 无须定义类,Spring 快速注入 Json 参数 | 青空之蓝 浅谈 Proxy 和 Aop | 青空之蓝 从零实现一个 PHP 微框架 - 初始化请求 | 青空之蓝 为 Vue3 添加一个简单的 Store | 青空之蓝 从零实现一个 PHP 微框架 - 服务提供者 | 青空之蓝 WSL2 踩坑记录 | 青空之蓝 浅谈浏览器Event Loop [更新] | 青空之蓝 从零实现一个 PHP 微框架 - Bootstrap 启动加载 | 青空之蓝 从零实现一个 PHP 微框架 - IoC 容器 | 青空之蓝 从零实现一个 PHP 微框架 - PSR & Composer | 青空之蓝 从零实现一个 PHP 微框架 - 前言 | 青空之蓝 MVVM 简单实现 | 青空之蓝 浅谈 DI 和 IoC | 青空之蓝 中间件实现 [PHP] | 青空之蓝 告别 Windows 终端的难看难用,打造好用的 PowerShell | 青空之蓝 VSCode Java输出中文乱码问题解决[更新] | 青空之蓝 浅谈浏览器渲染 | 青空之蓝 Vue-Cli@2 项目迁移日志 | 青空之蓝 Laragon & Scoop 集成踩坑记录 | 青空之蓝 [青空之蓝-2019]-年度总结 | 青空之蓝 为Vue添加简单的Store | 青空之蓝 为React添加简单的Store | 青空之蓝 为Vuex添加同步Action | 青空之蓝 浅谈B+树 | 青空之蓝 浅谈跳表 | 青空之蓝 浅谈数据库索引 | 青空之蓝 MySQL事务隔离 | 青空之蓝 算法复杂度分析(1) | 青空之蓝 一年来的经验总结 | 青空之蓝 Acrylic - VSCode Extension | 青空之蓝 ace编辑器设置惯性滚动 | 青空之蓝 Java二叉树实现 | 青空之蓝 Java图实现 | 青空之蓝 为apt方式安装的nginx重新编译增加WebDAV | 青空之蓝 XK-Editor - 一个支持富文本和Markdown的编辑器 | 青空之蓝 JS生成列表树 | 青空之蓝 Laravel生成目录树 | 青空之蓝 XK-Note - 集各种神奇功能的云笔记 | 青空之蓝 PHP GD生成验证码 | 青空之蓝 PHP GD图片处理[转换格式-水印-缩略图] | 青空之蓝 Origami - 简洁轻快的WordPress主题 | 青空之蓝 为WordPress启用WorkBox | 青空之蓝 [青空之蓝-2018]-年度总结 | 青空之蓝 VSCode Java手动导入jar和源码包 | 青空之蓝 Windows IP变化自动发送邮件 | 青空之蓝 C链表实现重制版 | 青空之蓝 C 结构体的定义和使用 | 青空之蓝 图的搜索(遍历) - BFS & DFS | 青空之蓝 Java链表实现 | 青空之蓝 C 快速排序 | 青空之蓝 C 插入排序 | 青空之蓝 C 归并排序 | 青空之蓝 C语言链表实现 | 青空之蓝 VSCode配置Java调试环境[Windows] | 青空之蓝 C 选择排序 | 青空之蓝 C 冒泡排序 | 青空之蓝 VSCode配置PHP调试环境[Windows] | 青空之蓝 VSCode配置C/C++ GDB调试环境[Windows] | 青空之蓝 WordPress友情链接模板 | 青空之蓝 Intel Optane 傲腾内存体验 | 青空之蓝 Mysql双机热备实战 | 青空之蓝 博客一年记录 | 青空之蓝 为WordPress启用Service Worker | 青空之蓝 Bing每日一图API | 青空之蓝 iframe延迟加载 | 青空之蓝 写在2018年高考前 | 青空之蓝 The Fox主题汉化分享 | 青空之蓝 [青空之蓝-2017]-崭新 | 青空之蓝 本博客评论规则 | 青空之蓝 世界,您好! | 青空之蓝
「一行代码」优雅管理 Windows 软件 | 青空之蓝
Otstar Lin · 2020-01-22 · via 青空之蓝

想必小伙伴们苦恼 Windows 下没有和 Ubuntu 等 Linux 下方便的包管理吧,不过经过较长时间的体验我觉得 Scoop 可能是 Windows 上体验最好的「包管理器」

那么如何安装 Scoop 呢?

首先你需要打开 PowerShell ,然后输入以下命令允许执行本地脚本。

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

然后运行以下命令安装 Scoop

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

# 或者使用短命令
iwr -useb get.scoop.sh | iex
Invoke-Expression (New-Object System.Net.WebClient).DownloadString('https://get.scoop.sh')

# 或者使用短命令
iwr -useb get.scoop.sh | iex

静待脚本执行完成就可以了,安装成功后,让我们尝试一下:

# 显示帮助
scoop help
# 显示帮助
scoop help

这说明了 Scoop 安装成功了,通过 Scoop 安装的软件默认会位于 C:\Users\<user>\scoop 如果是安装到 global 环境的是 C:\ProgramData\scoop

Scoop 安装成功后我们就可以利用它来安装其他软件了,Scoop 的命令和 Linux 下的包管理器非常类似都是「scoop+ 动作 + 对象」的语法,比较常用的动作主要是以下几种操作。

Scoop 常用操作

? 搜索,比如我们不清楚 Scoop 中是否有我们想要的软件或者不清楚 Scoop 中软件的名称,就可以使用 scoop search <app> 来查找软件。

# 搜索软件
scoop search aria2
# 搜索软件
scoop search aria2

? 查看软件相关信息,当我们通过搜索找到软件的名称,但是不确定是否是该软件的时候,我们就可以通过 scoop [info|home] <app> 进一步确认软件

# 查看软件信息
scoop info firefox

# 打开软件主页
scoop home firefox
# 查看软件信息
scoop info firefox

# 打开软件主页
scoop home firefox

? 安装,确认软件了,我们就可以开始安装了 scoop install <app>注意:Scoop 偶尔 可能会因为网络错误安装失败,但是 Scoop 会显示已安装,这时可以用 scoop uninstall <app> 卸载,然后再次安装

# 安装软件
scoop install aria2

# 先安装sudo用以提权
scoop install sudo
# 全局安装
sudo scoop install -g aria2
# 安装软件
scoop install aria2

# 先安装sudo用以提权
scoop install sudo
# 全局安装
sudo scoop install -g aria2

? 卸载,安装后如果不喜欢这个软件怎么办?当然是卸载呀,那么 Scoop 如何卸载呢,很简单 scoop uninstall <app> 即可完成卸载,不过作为 Debian Apt 党怎么可能喜欢 uninstallremove 走起(。・∀・)ノ

# 卸载软件
scoop uninstall aria2

# 或者可以执行以下命令将remove添加到alias,这样就可以用remove了
scoop alias add remove 'scoop uninstall $args' 'Uninstalls app'
# 如果提示重复就删除掉再重新添加
scoop alias rm remove
# 这时就可以用remove来卸载软件了
scoop remove aria2
# 卸载软件
scoop uninstall aria2

# 或者可以执行以下命令将remove添加到alias,这样就可以用remove了
scoop alias add remove 'scoop uninstall $args' 'Uninstalls app'
# 如果提示重复就删除掉再重新添加
scoop alias rm remove
# 这时就可以用remove来卸载软件了
scoop remove aria2

? 升级,那么软件有新版了如何升级呢?用 scoop update <app> 就可以了,那我要一键升级所有的软件呢?用 scoop update * ,或者可以添加 upgrade 的别名,那我的一个软件不想升级怎么办?可以利用 scoop hold <app> 放置某个软件更新

# 升级一个软件
scoop update aria2

# 升级所有软件
scoop update *

# 添加upgrade别名
scoop alias add upgrade 'scoop update *' 'Update all app'
# 添加后就可以用scoop upgrade升级所有软件了
scoop upgrade

# 禁止软件更新
scoop hold aria2
# 允许软件更新
scoop unhold aria2
# 升级一个软件
scoop update aria2

# 升级所有软件
scoop update *

# 添加upgrade别名
scoop alias add upgrade 'scoop update *' 'Update all app'
# 添加后就可以用scoop upgrade升级所有软件了
scoop upgrade

# 禁止软件更新
scoop hold aria2
# 允许软件更新
scoop unhold aria2

? 清除旧版本,升级后 Scoop 并不会自动删除旧版本,而只是将当前版本切换到新版,当我们需要删除的时候就可以使用 scoop cleanup [<app>] 清除旧版本

# 清除单个软件的旧版本
scoop cleanup aria2

# 清楚所有安装软件的旧版本
scoop cleanup
# 清除单个软件的旧版本
scoop cleanup aria2

# 清楚所有安装软件的旧版本
scoop cleanup

? 切换版本,有时候我们需要使用到旧版的软件怎么办?比如 Python3 和 Python2 的切换,这时我们可以用 scoop reset <app>@<version>

# 我个人比较推荐的方式
scoop reset php@7.4.1

# 或者
scoop reset python27
# 我个人比较推荐的方式
scoop reset php@7.4.1

# 或者
scoop reset python27

? 检查状态,有时候我们不想直接升级,而是想看看是否有新版本,或者有的应用安装失败需要重新安装的我们没注意到怎么办?用 scoop status 就行啦

# 检查状态
scoop status
# 检查状态
scoop status

? 列出已安装软件列表

# 列出已安装软件列表
scoop list
# 列出已安装软件列表
scoop list

? 添加软件源,当我们需要的软件不在列表中怎么办?这时我们就可以看看有没有软件源中包含了我们需要的软件,Scoop 的软件源称之为桶 bucket ,在 rasa/scoop-directory 上可以找到所有的 Scoop 桶,添加桶 scoop bucket add <bucket_name> <bucket_url> ,删除桶 scoop bucket rm <bucket_name>

# 添加桶
scoop bucket add extras https://github.com/lukesampson/scoop-extras.git

# 删除桶
scoop bucket rm extras
# 添加桶
scoop bucket add extras https://github.com/lukesampson/scoop-extras.git

# 删除桶
scoop bucket rm extras

? 清除缓存

# 查看缓存
scoop cache
scoop cache show aria2

# 删除缓存
scoop cache rm *
scoop cache rm aria2
# 查看缓存
scoop cache
scoop cache show aria2

# 删除缓存
scoop cache rm *
scoop cache rm aria2

? 别名,有的时候,我们不喜欢 Scoop 的某些命令,比如 scoop uninstall <app> 怎么办?可以添加别名来解决 scoop alias add <name> <command> <description>

# 添加
scoop alias add remove 'scoop uninstall $args' 'Uninstall apps'

# 删除
scoop alias rm remove
# 添加
scoop alias add remove 'scoop uninstall $args' 'Uninstall apps'

# 删除
scoop alias rm remove

结语

至此你应该能很好的使用 Scoop 来管理你的 Windows 软件了。

Windows 下还有一个 Chocolatey 这个包管理器,为什么不使用 Chocolatey 呢?毕竟它毕竟全,若你用过了 Chocolatey ,你一定会苦恼 Chocolatey 乱放软件,一会儿 C:/tools 一会儿 C:/Program Files ,这是因为它是使用传统软件安装的方式来安装软件了,只是将找软件,下软件,删软件的步骤省掉了而已,并没有解决放置软件的问题。Scoop 的 Wiki 有 完整的对比

对了,若你也是 Laragon 的使用者的话我后续会发布将 Laragon 和 Scoop 集成的文章,如果等不及也可以直接上手 star2000/scoop-ext-laragon

「一行代码」优雅管理 Windows 软件

https://blog.ixk.me/post/one-line-of-code-elegantly-manages-windows-software
  • 许可协议

    BY-NC-SA

  • 本文作者

    Otstar Lin

  • 发布于

    2020/01/22

转载或引用本文时请遵守许可协议,注明出处、不得用于商业用途!

Laragon & Scoop 集成踩坑记录[青空之蓝-2019]-年度总结