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. kotlin函数和Lambda表达式——>高阶函数与lambda表达式

    1.高阶函数 高阶函数是将函数用作参数或返回值的函数. 一个不错的示例是集合的函数式⻛格的 fold,它接受一个初始累积值与一个接合函数,并通过将当前 累积值与每个集合元素连续接合起来代入累积值来构建 ...

  2. NTPShell

    NTPShell 获取地址:https://github.com/aplyc1a/NTPShell 通过NTP协议来负载C2数据. 编译 gcc ntp.c -lpthread -o ntp 使用 c ...

  3. .NET周刊【10月第3期 2024-10-20】

    国内文章 我被 .NET8 JIT 的一个BUG反复折磨了半年之久(JIT tier1 finally optimizations) https://www.cnblogs.com/calvinK/p ...

  4. 远程连接服务器时出现“这可能是由于CredSSP加密数据库修正”的错误提示的解决办法

    当我们远程连接服务器时,有时候会出现以下提示,从而导致我们无法成功连接服务器,如下所述: 原因: 远程桌面使用的是"凭据安全支持提供程序协议 (CredSSP) ",这个协议在未修 ...

  5. NOIP2024模拟赛7:纯粹当下

    NOIP2024模拟赛7:纯粹当下 今日挂分:95pts...... T2 \(T\) 组数据, 每组给定 \(n,k,f,a_i\), 一个序列 \(b\) 满足 \(b_i \in [a_i-k, ...

  6. MySQL,你只需看这一篇文章就够了!

    MySQL--DAY02 distinct 去重 把查询结果去除重复记录[distinct] 注意:原表数据不会被修改,只是查询结果去重. 去重需要使用一个关键字:distinct mysql> ...

  7. C++处理系统相关权限问题

    1.给某个文件或文件夹赋予特定用户的特定访问权限 /* 给文件(夹)szPath设置用户名为pszAccount的可读可写可修改权限 */ bool GiveTheAccountPrivToFile( ...

  8. img标签src引用网络图片,响应403的解决方法

    在html页面加入<meta name="referrer" content="no-referrer">标签,就可以解决页面加载网络图片的问题, ...

  9. python报错:If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0

    相关: https://stackoverflow.com/questions/72441758/typeerror-descriptors-cannot-not-be-created-directl ...

  10. ThreadLocal源代码分析

    最早接触ThreadLocal这个东东,还是在学Hibernate的时候,当时看ThreadLocal没明白是干什么的,后来在网上查才明白ThreadLocal的用途,ThreadLocal其实蛮有用 ...