不同系统下包管理工具
系统 | 工具 | 范例 | 备注 |
---|---|---|---|
Arch Linux | Pacman | pacman -S pyenv | Built-in |
CentOS/RHEL | yum | yum install python-wheel | Built-in |
Debian/Ubuntu | apt/apt-get | apt install python3 | Built-in |
macOS | Homebrew | brew install python | 3rd-party |
Windows | Chocolatey | choco install docker | 3rd-party |
Windows | Scoop | scoop install docker | 3rd-party |
- Chocolatey 的创始人曾经在 Scoop 的 GitHub 项目下提 issue询问 Scoop 能否整合 Chocolatey,并表示 Scoop 非常利落
- Scoop 跟 Chocolatey 对于管理员权限安装的部分的不同处理方式,scoop只要普通用户权限
- 软件包(package)及其仓库,scoop可以自定义自己的软件包
scoop
1、Windows 7 SP1+ / Windows Server 2008+
2、确保安装Powershell 3(或更高版本)
3、.NET Framework 4.5+(或更高版本)
4、必须为您的用户帐户启用PowerShell,并将执行策略设置为远程签名
- 打开PowerShell执行以下命令确认Powershell版本
PS C:\Users\wch> $psversiontable.psversion.major
5
PS C:\Users\wch> $host
Name : ConsoleHost
Version : 5.1.19041.1320
InstanceId : af599a82-f08b-4a1b-8039-ad57c9edd4f2
UI : System.Management.Automation.Internal.Host.InternalHostUserInterface
CurrentCulture : zh-CN
CurrentUICulture : zh-CN
PrivateData : Microsoft.PowerShell.ConsoleHost+ConsoleColorProxy
DebuggerEnabled : True
IsRunspacePushed : False
Runspace : System.Management.Automation.Runspaces.LocalRunspace
安装Powershell新版本
https://docs.microsoft.com/zh-cn/powershell/scripting/windows-powershell/install/installing-windows-powershell?view=powershell-5.1
-
注意上述Powershell版本安装成功后需要重启计算机
-
打开Powershell执行以下命令确认.NET Framework版本
PS C:\Users\wch> (Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Client' -Name Version).Version
4.8.04084
安装.NET Framework新版本
https://www.microsoft.com/zh-CN/download/details.aspx?id=30653
- PowerShell执行以下命令,选择A,回车确认
PS C:\Users\wch> Set-ExecutionPolicy RemoteSigned -scope CurrentUser
- PowerShell执行以下命令
PS C:\Users\wch> iex (new-object net.webclient).downloadstring('https://get.scoop.sh')
执行过程中可能会因为网络问题导致失败,可先科学上网
- 等待安装成功,默认为
C:\Users\wch\scoop
目录
- 如果下载scoop的过程中断,那么必须先删除
C:\Users\wch\scoop
文件夹,再执行以上命令安装。 - 也可以自定义安装目录
D:\Applications\Scoop
[environment]::setEnvironmentVariable('SCOOP', 'D:\Applications\Scoop', 'User')
$env:SCOOP='D:\Applications\Scoop' # with this we don't need to close and reopen the console
iex (new-object net.webclient).downloadstring('https://get.scoop.sh')
- 或者自定义全局安装目录
[environment]::setEnvironmentVariable('SCOOP_GLOBAL','F:\GlobalScoopApps','Machine')
$env:SCOOP_GLOBAL='F:\GlobalScoopApps'
自定义全局安装目录需要管理员权限
- 接下来就可以愉快的安装你想用的各种软件
scoop install maven openjdk gradle
- 安装软件指定版本
scoop install nodejs@13.14.0
- 上述软件安装成功后会自动配置环境变量
- 查看状态信息,在此之前未执行过update操作会自动触发update操作,执行完毕后提示待更新版本
PS C:\Users\wch> scoop status
PS C:\Users\wch> scoop status
Scoop is up to date.
Updates are available for:
sublime-text: 4-4113 -> 4-4121
typora: 0.11.8 -> 0.11.13
Everything is ok!
- 也可手动触发更新scoop及本地软件仓库
PS C:\Users\wch> scoop update
Updating 'main' bucket...
* df9e83391 1password-cli: Update to version 1.12.3 66 minutes ago
* 6da9a1924 packer: Update to version 1.7.8 4 hours ago
* a948e4817 edgedriver: Update to version 97.0.1058.0 4 hours ago
Scoop was updated successfully!
- 更新指定软件
PS C:\Users\wch> scoop update maven
- 更新所有软件
PS C:\Users\wch> scoop update *
- 更新版本后会遗留安装包,查询下载缓存
PS C:\Users\wch> scoop cache
- 删除遗留安装包
PS C:\Users\wch> scoop cache rm *
- 清除所有软件旧版本
PS C:\Users\wch> scoop cleanup *
- 卸载软件
PS C:\Users\wch> scoop uninstall maven
- 一次性卸载多个软件
PS C:\Users\wch> scoop uninstall maven gradle ant xxx
- 卸载并清理软件数据
PS C:\Users\wch> scoop uninstall -p maven
- 切换软件版本
PS C:\Users\wch> scoop reset python27
Resetting python27 (2.7.18).
Linking ~\scoop\apps\python27\current => ~\scoop\apps\python27\2.7.18
Creating shim for 'python'.
Creating shim for 'pythonw'.
Creating shim for 'python2'.
Creating shim for 'idle'.
WARN Overwriting shim to idle.bat installed from python
Creating shim for 'idle2'.
PS C:\Users\wch>
-
另外OracleJDK8、openjdk11也可随意切换
-
查看官方维护的软件库
PS C:\Users\wch> scoop bucket known
main
extras
versions
nightlies
nirsoft
php
nerd-fonts
nonportable
java
games
jetbrains
- 为scoop添加额外bucket,基本涵盖了所有软件仓库
scoop bucket add apps https://gitee.com/kkzzhizhou/scoop-apps
- 查看命令使用方法
PS C:\Users\wch> scoop help uninstall
tabby
- 替代cmd命令行及xshell
PS C:\Users\wch> scoop install tabby
WARN 'tabby' (1.0.159) is already installed.
Use 'scoop update tabby' to install a new version.
PS C:\Users\wch>
typora+picgo+gitee
- 本地写word文档,拷贝至公司Confluence,大概率格式会乱,非常影响美观
Markdown的轻量化、易读易写特性,并且对于图片,图表、数学式都有支持,许多网站都广泛使用Markdown来撰写帮助文档或是用于论坛上发表消息。 如GitHub、Reddit、Diaspora、[Stack Exchange](https://baike.baidu.com/item/Stack Exchange/13777796)、OpenStreetMap 、SourceForge、简书等,甚至还能被使用来撰写电子书。
- typora是一款所写即所得的markdown编辑工具
- 本地使用typora编辑完毕md文件,全选后复制为Markdown粘贴至公司Confluence,借助浏览器插件Markdown Here一键转换
- 图片处理可参考如下文档
https://www.yuque.com/wholegale39/nafzwb/hvsil1
aria2
- Aria2是一款开源下载工具,可帮助简化不同设备和服务器之间的下载过程。它支持磁力链接、BT种子、http等类型的文件下载,与迅雷及QQ旋风相比,Aria2有着优秀的性能及较低的资源占用,架构本身非常轻巧,通常只需要4兆字节(HTTP下载)到9兆字节(用于BitTorrent交互)之间。最重要的一点是Aria2完全免费!
PS C:\Users\wch> scoop install aria2
WARN 'aria2' (1.36.0-1) is already installed.
Use 'scoop update aria2' to install a new version.
PS C:\Users\wch>
# 默认为5
PS C:\Users\wch> scoop config aria2-max-connection-per-server 10
# 默认为5
PS C:\Users\wch> scoop config aria2-split 10
# 其他参数均默认
You can tweak the following aria2
settings with the scoop config
command:
- aria2-enabled (default: true)
- aria2-warning-enabled (default: true)
- aria2-retry-wait (default: 2)
- aria2-split (default: 5)
- aria2-max-connection-per-server (default: 5)
- aria2-min-split-size (default: 5M)
PS C:\Users\wch> scoop install extras/everything
WARN Scoop uses 'aria2c' for multi-connection downloads.
WARN Should it cause issues, run 'scoop config aria2-enabled false' to disable it.
WARN To disable this warning, run 'scoop config aria2-warning-enabled false'.
Installing 'everything' (1.4.1.1009) [64bit]
Starting download with aria2 ...
设置代理
- 打开佛跳墙
# 设置代理
PS C:\Users\wch> scoop config proxy 127.0.0.1:19180
# 查看代理
PS C:\Users\wch> scoop config proxy
127.0.0.1:19180
# 删除代理,删除后如果未生效,则打开新的Powershell窗口
PS C:\Users\wch> scoop config rm proxy
'proxy' has been removed
其他工具
PS C:\Users\wch> scoop list
Installed apps:
7zip 21.06 [main]
adb 31.0.3 [main]
allure 2.16.1 [main]
android-sdk 4333796 [extras]
android-studio 2020.3.1.25 [extras]
another-redis-desktop-manager 1.5.0 [scoop-bucket]
ant 1.10.12 [main]
aria2 1.36.0-1 [main]
baidudisk 7.9.1.2 [scoop-bucket]
dark 3.11.2 [main]
everything 1.4.1.1009 [extras]
file-converter 1.2.3 [scoop-bucket]
geekuninstaller 1.4.8.145 [extras]
git 2.34.1.windows.1 [main]
googlechrome 91.0.4472.101 [extras]
gradle 7.3 [main]
idea 2021.2.3 [extras]
PS C:\Users\wch>
创建专属软件桶
- 首先创建repo,可以从官方URL导入
- 创建成功后,git clone
ZZ-RDC-00533B+wch@ZZ-RDC-00533B MINGW64 /d/gitee
$ git clone git@gitee.com:wholegale39/scoop-bucket.git
Cloning into 'scoop-bucket'...
remote: Enumerating objects: 307, done.
remote: Counting objects: 100% (307/307), done.
remote: Compressing objects: 100% (127/127), done.
Receiving remote: Total 307 (delta 172), reused 307 (delta 172), pack-reused 0
Receiving objects: 100% (307/307), 63.69 KiB | 538.00 KiB/s, done.
Resolving deltas: 100% (172/172), done.
- 删除.gitkeep文件
ZZ-RDC-00533B+wch@ZZ-RDC-00533B MINGW64 /d/gitee/scoop-bucket (master)
$ cd bucket
ZZ-RDC-00533B+wch@ZZ-RDC-00533B MINGW64 /d/gitee/scoop-bucket/bucket (master)
$ rm .gitkeep
ZZ-RDC-00533B+wch@ZZ-RDC-00533B MINGW64 /d/gitee/scoop-bucket/bucket (master)
$ git status
On branch master
Your branch is up to date with 'origin/master'.
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
deleted: .gitkeep
no changes added to commit (use "git add" and/or "git commit -a")
- 添加软件,将tabby.json从其他地方拷贝至scoop-bucket\bucket目录下
ZZ-RDC-00533B+wch@ZZ-RDC-00533B MINGW64 /d/gitee/scoop-bucket/bucket (master)
$ git status
On branch master
Your branch is up to date with 'origin/master'.
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
deleted: .gitkeep
Untracked files:
(use "git add <file>..." to include in what will be committed)
tabby.json
no changes added to commit (use "git add" and/or "git commit -a")
- 推送至远程服务器
ZZ-RDC-00533B+wch@ZZ-RDC-00533B MINGW64 /d/gitee/scoop-bucket/bucket (master)
$ git add .
ZZ-RDC-00533B+wch@ZZ-RDC-00533B MINGW64 /d/gitee/scoop-bucket/bucket (master)
$ git config --local user.name 'wch'
ZZ-RDC-00533B+wch@ZZ-RDC-00533B MINGW64 /d/gitee/scoop-bucket/bucket (master)
$ git config --local user.email '295502313@163.com'
ZZ-RDC-00533B+wch@ZZ-RDC-00533B MINGW64 /d/gitee/scoop-bucket/bucket (master)
$ git config -l
core.symlinks=false
core.autocrlf=true
core.fscache=true
color.diff=auto
color.status=auto
color.branch=auto
color.interactive=true
help.format=html
diff.astextplain.textconv=astextplain
rebase.autosquash=true
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
credential.helper=helper-selector
core.repositoryformatversion=0
core.filemode=false
core.bare=false
core.logallrefupdates=true
core.symlinks=false
core.ignorecase=true
remote.origin.url=git@gitee.com:wholegale39/scoop-bucket.git
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
branch.master.remote=origin
branch.master.merge=refs/heads/master
user.name=wch
user.email=295502313@163.com
ZZ-RDC-00533B+wch@ZZ-RDC-00533B MINGW64 /d/gitee/scoop-bucket/bucket (master)
$ git commit -m "add tabby app"
[master aabef9d] add tabby app
2 files changed, 33 insertions(+), 1 deletion(-)
delete mode 100644 bucket/.gitkeep
create mode 100644 bucket/tabby.json
ZZ-RDC-00533B+wch@ZZ-RDC-00533B MINGW64 /d/gitee/scoop-bucket/bucket (master)
$ git push
Enumerating objects: 6, done.
Counting objects: 100% (6/6), done.
Delta compression using up to 12 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (4/4), 748 bytes | 748.00 KiB/s, done.
Total 4 (delta 1), reused 0 (delta 0), pack-reused 0
remote: Powered by GITEE.COM [GNK-6.2]
To gitee.com:wholegale39/scoop-bucket.git
3994e6e..aabef9d master -> master
- scoop添加自定义软件bucket
PS C:\Users\wch> scoop bucket add scoop-bucket git@gitee.com:wholegale39/scoop-bucket.git
Checking repo... ok
The scoop-bucket bucket was added successfully.
PS C:\Users\wch> scoop bucket list
apps
extras
java
main
nonportable
scoop-bucket
versions
- 尝试搜索软件
PS C:\Users\wch> scoop search tabby
'apps' bucket:
tabby-portable (1.0.164)
tabby (1.0.159)
Tabby_dodorz (1.0.162)
'extras' bucket:
tabby (1.0.159)
'scoop-bucket' bucket:
tabby (1.0.159)
- 以上可以观察到scoop-bucket软件桶下tabby版本已不是最新,尝试更新软件版本
PS C:\Users\wch> cd D:\gitee\scoop-bucket\
PS D:\gitee\scoop-bucket>
PS D:\gitee\scoop-bucket>
PS D:\gitee\scoop-bucket> .\bin\checkver.ps1 tabby
tabby: 无法连接到远程服务器
URL https://github.com/Eugeny/tabby/releases/latest is not valid
DONE
PS D:\gitee\scoop-bucket> .\bin\checkver.ps1 tabby
tabby: 1.0.164 (scoop version is 1.0.159) autoupdate available
DONE
PS D:\gitee\scoop-bucket>
- 下载并更新软件hash值
PS D:\gitee\scoop-bucket> .\bin\checkver.ps1 *
tabby: 1.0.164 (scoop version is 1.0.159) autoupdate available
DONE
PS D:\gitee\scoop-bucket> .\bin\checkver.ps1 * -u
tabby: 1.0.164 (scoop version is 1.0.159) autoupdate available
Autoupdating tabby
Downloading tabby-1.0.164-setup.exe to compute hashes!
tabby-1.0.164-setup.exe (75.1 MB) [===========================================================================] 100%
Computed hash: 89f325a0cab1034edc504f58658cd75a29bcc5927c5c51711577c890214a5b67
Writing updated tabby manifest
DONE
PS D:\gitee\scoop-bucket>
# 如果更新下载失败,可以尝试以管理员打开powershell,然后设置代理如下:
# 设置代理
netsh winhttp set proxy 127.0.0.1:19180
# 删除代理
netsh winhttp reset proxy
# 查看代理
netsh winhttp show proxy
- tabby.json已被更新
- 下载至机器默认安装得scoop/cache目录
- 将已更新得tabby.json推送至远程服务器
ZZ-RDC-00533B+wch@ZZ-RDC-00533B MINGW64 /d/gitee/scoop-bucket/bucket (master)
$ git status
On branch master
Your branch is up to date with 'origin/master'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: tabby.json
no changes added to commit (use "git add" and/or "git commit -a")
ZZ-RDC-00533B+wch@ZZ-RDC-00533B MINGW64 /d/gitee/scoop-bucket/bucket (master)
$ git add .
ZZ-RDC-00533B+wch@ZZ-RDC-00533B MINGW64 /d/gitee/scoop-bucket/bucket (master)
$ git commit -m "tabby: Update to version 1.0.164"
[master 3c6ef1f] update tabby app
1 file changed, 3 insertions(+), 3 deletions(-)
ZZ-RDC-00533B+wch@ZZ-RDC-00533B MINGW64 /d/gitee/scoop-bucket/bucket (master)
$ git push
Enumerating objects: 7, done.
Counting objects: 100% (7/7), done.
Delta compression using up to 12 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (4/4), 417 bytes | 417.00 KiB/s, done.
Total 4 (delta 2), reused 0 (delta 0), pack-reused 0
remote: Powered by GITEE.COM [GNK-6.2]
To gitee.com:wholegale39/scoop-bucket.git
aabef9d..3c6ef1f master -> master
- scoop更新bucket软件桶
PS C:\Users\wch> scoop update
Updating Scoop...
Updating 'apps' bucket...
Updating 'extras' bucket...
Updating 'java' bucket...
Updating 'main' bucket...
Updating 'nonportable' bucket...
* 3c0b86e notepadplusplus-np: Update to version 8.1.9.1 5 days ago
Updating 'scoop-bucket' bucket...
* 3c6ef1f tabby: Update to version 1.0.164 4 minutes ago
Updating 'versions' bucket...
Scoop was updated successfully!
- 更新成功
PS C:\Users\wch> scoop search tabby
'apps' bucket:
tabby-portable (1.0.164)
tabby (1.0.159)
Tabby_dodorz (1.0.162)
'extras' bucket:
tabby (1.0.159)
'scoop-bucket' bucket:
tabby (1.0.164)
- 安装自定义版本
PS C:\Users\wch> scoop install scoop-bucket/tabby