Scoop是什么?

Scoop 是一个基于 Windows 的包管理器,能够帮助开发者高效管理开发环境和应用程序。

它推荐通过命令行进行包的安装、更新和卸载,同时提供了简单易用的包组织方式,透明化了安装和管理的过程。

与传统的 Windows 应用安装比较,Scoop 允许用户使用命令行将应用安装到用户的个人目录中,消除了系统管理员权限的需求。

来看看我本地安装的应用。

Scoop的几个核心概念

Bucket (桶)

Bucket 是 Scoop 中用于存储应用包配置文件 (如 JSON 文件) 的地方。举一个例,main 是 Scoop 默认的主 Bucket,还有丰富的社区共享 Bucket,如 extras,包含了更多的应用。 添加新的 Bucket:

scoop bucket add extras
App (应用)

App 是 Scoop 的核心,它指的是安装和管理的应用程序,比如 Python,.NET,Node.js等。

程序根目录

Scoop 通常将应用安装在 ~/scoop/apps/ 目录中,便于用户进行独立管理。可以通过以下命令查看安装路径:

scoop prefix <app-name>
Version (版本管理)

Scoop 支持同一应用的多版本管理,通过切换功能可以随时切换用户需要的版本。

多版本管理的原理

Scoop 的多版本管理通过应用根目录中的不同子目录实现,每个版本都保存在独立的目录中:

~/scoop/apps/<app-name>/<version>

通过设置连接 (如 current 连接),Scoop 可以日常指导到指定版本:

~/scoop/apps/<app-name>/current -> <version>

这样,用户可以随时切换版本,而不需要重新安装。

安装Scoop

透过以下命令安装

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression

怎么安装包:以 .NET 和 Python 举例

安装 version

透过 Scoop 安装 versions,versions用来管理旧版本的应用:

scoop bucket add version
安装 .NET

透过 Scoop 安装 .NET:

scoop install dotnet-sdk

验证安装:

dotnet --version
安装两个版本的 .NET

安装特定版本:

scoop install dotnet6-sdk
scoop install dotnet7-sdk

切换版本:

scoop reset dotnet6-sdk
scoop reset dotnet7-sdk
安装 Python

透过 Scoop 安装 Python:

scoop install python

验证安装:

python --version
安装两个版本的 Python

安装特定版本:

scoop install python27
scoop install python310

切换版本:

scoop reset python27
scoop reset python310

Scoop 的更新操作

更新 Scoop 自身

使用以下命令更新 Scoop:

scoop update
更新所有已安装的包

更新所有已安装包到最新版本:

scoop update *
更新特定的包

如果只需要更新某个特定包,例如 Python:

scoop update python

常见配置和问题解决

设置全局安装路径

如果需要为所有用户配置全局安装路径,可以修改 Scoop 的配置:

scoop config global_path true
环境变量冲突

切换不同版本的应用时,可能会遇到环境变量冲突。通过以下命令重置环境变量:

scoop reset <app-name>
清理过时版本

清理应用的旧版本以节省磁盘空间:

scoop cleanup <app-name>

通过 Scoop 快速搭建开发环境

利用 Scoop,可以快速搭建一个开发环境。例如:

安装 VS Code
scoop install vscode
安装 Node.js
scoop install nodejs
安装 Git
scoop install git

通过这些简单的命令,您可以快速构建一个功能齐全的开发环境。

Scoop: 开发者多环境管理利器的更多相关文章

  1. 推荐几个IDEA插件,Java开发者撸码利器(转载)

    推荐几个IDEA插件,Java开发者撸码利器.   这里只是推荐一下好用的插件,具体的使用方法不一一详细介绍. JRebel for IntelliJ 一款热部署插件,只要不是修改了项目的配置文件,用 ...

  2. dubbo服务接口开发者必备调试利器,你值得拥有

    dubbo服务接口开发者必备调试利器,你值得拥有 学习了:https://my.oschina.net/vboxtop/blog/1524290 找到了:http://www.vbox.top/?fr ...

  3. 推荐几个IDEA插件,Java开发者撸码利器。

    这里只是推荐一下好用的插件,具体的使用方法不一一详细介绍. JRebel for IntelliJ 一款热部署插件,只要不是修改了项目的配置文件,用它都可以实现热部署.收费的,破解比较麻烦.不过功能确 ...

  4. 开发环境管理利器Vagrant

    引言 不知道你是否经历过,开发环境与生产环境不一致.Windows开发和Linux上的包效果不一样.在我这运行时好的啊 等等等问题,那有没有解决方法呢? 答案就是Vagrant.Docker 1.简介 ...

  5. <转>如何将Chrome变成开发利器,开发者们在用这些插件

    Chrome 浏览器具有强大的跨平台能力以及丰富的扩展插件,一直是许多开发者的首要选择.而利用许多 Chrome 插件,开发者们在开发流程中能够极大地提高开发效率.我们就整理了十款开发者常用的 Chr ...

  6. 十款开发者常用的Chrome插件,让chrome成为开发利器!

    Chrome浏览器无论是作为浏览器市场的NO1还是其强大的跨平台能力以及丰富的扩展插件,一直是许多开发者的首要选择的浏览器.chrome浏览器也因为其丰富的Chrome插件,帮助开发者们在开发流程中极 ...

  7. chrome谷歌浏览器-DevTool开发者工具-详细总结

    目录: 一.概述 1.官方文档 2.打开方法: 3.前言: 二.九个模块: 1.设备模式Device Mode 2.元素面板Elements 3.控制台面板Console 4.源代码面板Sources ...

  8. DevTool开发者工具

    DevTool开发者工具 chrome的开发者工具可以说是十分强大了,是web开发者的一大利器,作为我个人而言平时用到的几率很大,相信大家也很常见,但是不要仅仅停留在点选元素看看样式的层面上哦,跟着我 ...

  9. 开发者常用的十款Chrome插件

    本文是稀土掘金投稿,虽然其中有倔金的私货,是篇推广文,但我看过后认为内容确实不错,有些好插件还是第一次知道,对我很有帮助,考虑过后还是决定推荐给大家,最近我比较关注各种提高开发效率的工具与技巧,今后看 ...

  10. iOS 之 Cocoapods安装

    进入正题前,先来点前奏:了解cocoapods是某天看一个博客,那时才明白原来写项目不用一个个将三方库拷进项目里啊,惊讶的我是一塌糊涂的啊...(原谅我那时还没进入过正规的IT公司....好多你们自然 ...

随机推荐

  1. KubeSphere v4 开源并发布全新可插拔架构 LuBan

    2024 年 10 月 10 日,KubeSphere 开源社区激动地向大家宣布,KubeSphere v4(开源版)已正式发布,同时发布全新可插拔架构 KubeSphere LuBan. 相较于 K ...

  2. 快速理解和使用stream流

    数据量越大,硬件内核数越多,stream流相比传统for循环速度越快. 原因是stream流是可以并行处理的. 如果要使用stream流,可以直接用flatmap把外层嵌套扁平化,只留下自己需要处理的 ...

  3. linux 基础(3)基本文件操作

    目录的基本操作 在 linux 文件系统里,以斜杠 / 开头的路径是绝对路径,从根目录开始寻找:其他的路径则都是相对路径,从当前目录(working directory)开始寻找. 相对目录中常用的符 ...

  4. att&ck框架学习笔记3

    https://blog.csdn.net/m0_38103658/article/details/106517758?utm_medium=distribute.pc_relevant.none-t ...

  5. Go下载依赖包失败的解决方法

    jenkins构建job,执行go test命令报如下图的timeout错误 从报错信息中可以看出是因为下载依赖包超时 解决方法: go env查看go环境变量 GOSUMDB=sum.golang. ...

  6. ABC365(D,E)

    ABC365(D,E) D - AtCoder Janken 3 石头剪刀布,给出对手的出招,问在保证不败的情况下最多能赢多少回 记 \(f_i,{0/1/2}\) 表示第 \(i\) 局出石头/剪刀 ...

  7. 4-1 C++运算符基本概念

    目录 4.1.1 基本概念 函数观点 左值和右值 运算符重载 4.1.2 优先级.结合律与求值顺序 优先级和结合律 求值顺序 书中表述 实践表明(猜想) 实践验证 可能的解释:编译器的优化行为 一些运 ...

  8. JAVA 传输post传输长字符、数据编码解码 反序列化字符串

    JAVA 传输post传输长字符.数据编码解码 1.前段传输 这是传输的数组对象 2.后端接收格式已解码 JS代码: $.ajax({ url:prefix+"/importModelTre ...

  9. string,字符串使用指南

    string 创建 创建一个字符串或者字符串数组如下 用 cin 输入,可以读一整串字符直到空格或换行才结束 #include <iostream> using namespace std ...

  10. SpringMVC源码剖析(四)- DispatcherServlet请求转发的

    SpringMVC完成初始化流程之后,就进入Servlet标准生命周期的第二个阶段,即"service"阶段.在"service"阶段中,每一次Http请求到来 ...