Windows 10 包管理

2022-10-25 14:41:41 浏览数 (1)

很长时间没摸 windows 了, 发现自己居然 out 了,windows 也有类似 macbrew 包管理器,

Winget

win10 自带的包管理器,在这之前大神凯文 写了一款叫做 AppGet 的开源的包管理器,深受人们喜爱在这里 ,后来微软准备招揽他,派面试官安德鲁 · 克林尼克 和他聊,面试了一整天。和凯文一起吃午餐,并讨论了更多有关 AppGet、Windows Phone 和其他方面的信息。

凯文等了几个月,鸟无音讯,当然是放他鸽子了,然后Winget 就发布了。哈哈哈哈。。 微软把他从温哥华 骗 到 西雅图 总部做技术分享,最后连机票都没能报销,好心酸呀。 凯文的心酸独白

想想最近红衣教主周鸿祎炮轰微软,说抄袭360,哈哈哈哈。。。。好无奈

安装

下载安装:https://aka.ms/getwinget 商店安装:商店搜索 【应用安装程序】

命令

命令

说明

install

安装给定的程序包

show

显示包的相关信息

source

管理程序包的来源

search

查找并显示程序包的基本信息

list

显示已安装的程序包

upgrade

显示并执行可用升级

uninstall

卸载给定的程序包

hash

哈希安装程序的帮助程序

validate

验证清单文件

settings

打开设置或设置管理员设置

features

显示实验性功能的状态

export

导出已安装程序包的列表

import

安装文件中的所有程序包

选项

选项

说明

-v、--version

此选项返回 winget 的当前版本。

--info info

提供有关 winget 的所有详细信息,包括许可证和隐私声明的链接。

-?、--help

获取有关 winget 的更多帮助信息

Scoop

scoop 环境:

  • 用户名不含中文字符
  • Windows 7 SP1 / Windows Server 2008
  • PowerShell 5
  • . NET Framework 4.5
代码语言:javascript复制
$PSVersionTable.PSVersion.Major   #查看Powershell版本
$PSVersionTable.CLRVersion.Major  #查看.NET Framework版本

安装 scoop

代码语言:javascript复制
# 开启脚本权限
Set-ExecutionPolicy RemoteSigned -scope CurrentUser
# 安装
iwr -useb get.scoop.sh | iex
#or
Invoke-Expression (New-Object System.Net.WebClient).DownloadString('https://get.scoop.sh')

如果下载 scoop 的过程中断,那么必须先删除(C:Users<user>scoop)文件夹,再执行以上命令安装。

帮助文档

代码语言:javascript复制
Usage: scoop <command> [<args>]

Some useful commands are:

alias       管理 scoop 别名
bucket      管理 Scoop buckets
cache       显示/清理下载缓存
checkup     检查可能存在的问题
cleanup     移除旧版本清理应用
config      获取或设置配置值
create      创建一个自定义的app manifest
depends     列出一个app的依赖关系
export      导出(可导入的)已安装应用程序列表
help        显示一个命令的帮助
home        打开一个app 的主页
info        显示一个app的相关信息
install     安装 apps
list        列出已安装的 apps
prefix      返回指定应用程序的路径
reset       重置应用程序以解决冲突
search      搜索可用应用
status      显示状态并检查新的应用程序版本
uninstall   卸载 app
update      更新 apps 和更新 Scoop
virustotal  在virustotal.com上查找应用程序的哈希
which       找到一个shim/可执行文件(类似于Linux上的which)

输入 'scoop help ' 显示特定的命令

基本操作

使用 scoop 安装 git

代码语言:javascript复制
# 查找
scoop search git
# 安装
scoop install git
#卸载
scoop uninstall git
# 更新
scoop update git

添加仓库

scoop 自带的 main bucket 软件过少,我们需要添加官方维护的 extras bucket

代码语言:javascript复制
scoop bucket add extras

第三方 bucket

若在 scoop search 中找不到需要的软件,可以上 github 上的第三方 bucket 查找一下。 比如安装 cajviewer ,添加 bucket

代码语言:javascript复制
# 添加仓库
scoop bucket add scoopbucket https://github.com/yuanying1199/scoopbucket
# 安装
scoop install scoopbucket/cajviewerlite

下载加速

方便是最大的优点,缺点就是太尼玛慢了, 装个 mysql ,中间上了个大号,抽了 3 根烟,还没装完,最后快到 80%的时候,安装失败。泪奔了...

代码语言:javascript复制
#安装aria2,
scoop install aria2
#打开16线程,aria2编译版本默认最高线程为16,需要更高的请自行编译
scoop config aria2-max-connection-per-server 16
scoop config aria2-split 16
scoop config aria2-min-split-size 1M

使用 aria2 下载 速度飞起,赞一个。

以上 scoop 应该就差不多了,够用了。

Chocolatey

Chocolatey 是一款专为 Windows 系统开发的、基于 NuGet 的包管理器工具,类似于 Node.jsnpmMacOSbrewUbuntuapt-get ,它简称为 chocoChocolatey 的设计目标是成为一个去中心化的框架,便于开发者按需快速安装应用程序和工具。

Chocolatey 的官网: https://chocolatey.org/

所需环境

  • Windows 7 / Windows Server 2003
  • PowerShell v2
  • . NET Framework 4

Chocolatey 安装

请使用管理员身份打开控制台。

使用 cmd
代码语言:javascript复制
@powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%chocolateybin
使用 PowerShell
代码语言:javascript复制
Set-ExecutionPolicy Bypass -Scope Process -Force

iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))

相关命令

代码语言:javascript复制
* -? 帮助文档
* list - 列出本地或者远程包
* find - 查找本地或者远程包
* search - 搜索本地或者远程包
* info - 查看包信息
* install - 安装包
* pin - 使一个包不被升级。
* outdated - 检索已经过时的包
* upgrade - 升级包
* uninstall - 卸载
* pack - 打包编译nupkg包
* push - 发布一个已经编译的 nupkg包
* new - 从模板新建一个包
* sources - 查看和配置默认源(源的别名)
* source - 查看和配置默认源
* config - 产看并配置配置文件设置
* feature - 查看和配置choco功能
* features - 查看和配置choco功能 (源的别名)
* setapikey - 检索、保存或删除特定源的apikey(apikey的别名)
* apikey - 检索、保存或删除特定源的apikey
* unpackself - have chocolatey set itself up
* version - [已经弃用]
* update - [不推荐]备用升级命令

常用的一些命令

代码语言:javascript复制
# 列出本地已安装的包
choco list --local-only

#列出Windows系统已安装的软件
choco list -li  #or  choco list -lai

#升级所有已安装的包
choco upgrade all -y

#安装Ruby Gem -
choco install compass -source ruby

#安装Python Egg -
choco install sphynx -source python

#安装IIS服务器特性 -
choco install IIS -source windowsfeatures

#安装Webpi特性 -
choco install IIS7.5Express -source webpi

Cygwin

Cygwin 是一个在 windows 平台上运行的类 UNIX 模拟环境

安装

右键点这里下载,下载完成之后,安装:

  • 网络连接方式: Direct Connection
  • User URL: http://mirrors.163.com/cygwin/ 或者 http://mirrors.neusoft.edu.cn/cygwin/ =>Add

初始安装包

Select Packages 的时候,一次搜索并选择最高版本, tcl , expect , rsynclynx ... (... . 假如你需要的话... )。

然后执行 :

代码语言:javascript复制
#安装 apt-cyg
lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg > apt-cyg
# 把apt-cyg 链接到bin
install apt-cyg /bin

以上是懒癌方式安装 apt-cyg , 当然也可以手动安装 :

代码语言:javascript复制
$ git clone https://github.com/transcode-open/apt-cyg.git
$ cd apt-cyg
$ install apt-cyg /bin

这样一来就可以使用 apt-cyg 管理 包了

代码语言:javascript复制
# 使用 apt-cyg 安装 `nano` 包
apt-cyg install nano
代码语言:javascript复制
* install     安装包
* remove      删除包
* update      更新包
* download    下载包,但是不会安装和更新
* show        显示指定包的信息
* depends     为包生成依赖关系树。
* rdepends    生成依赖于命名包的包树。
* list        列出指定的包
* listall     列出所有包含包名的包
* category    显示 category 列表的包
* listfiles   列出给定包拥有的所有文件。可以指定多个包
* search      搜索拥有指定文件的下载包
* searchall   搜索所有拥有指定文件的下载包

结语

我推荐使用 scoop , 自行感受吧。

0 人点赞