不同系统下包管理工具

系统工具范例备注
Arch LinuxPacmanpacman -S pyenvBuilt-in
CentOS/RHELyumyum install python-wheelBuilt-in
Debian/Ubuntuapt/apt-getapt install python3Built-in
macOSHomebrewbrew install python3rd-party
WindowsChocolateychoco install docker3rd-party
WindowsScoopscoop install docker3rd-party
  1. Chocolatey 的创始人曾经在 Scoop 的 GitHub 项目下提 issue询问 Scoop 能否整合 Chocolatey,并表示 Scoop 非常利落
  2. Scoop 跟 Chocolatey 对于管理员权限安装的部分的不同处理方式,scoop只要普通用户权限
  3. 软件包(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

Win7升级Powershell 5.1

下载Powershell 5.1

下载Powershell 5.1对应版本

安装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

  • 如果下载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> 

tabby

typora+picgo+gitee

  • 本地写word文档,拷贝至公司Confluence,大概率格式会乱,非常影响美观

Markdown的轻量化、易读易写特性,并且对于图片,图表、数学式都有支持,许多网站都广泛使用Markdown来撰写帮助文档或是用于论坛上发表消息。 如GitHubRedditDiaspora、[Stack Exchange](https://baike.baidu.com/item/Stack Exchange/13777796)、OpenStreetMapSourceForge简书等,甚至还能被使用来撰写电子书

  • 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:

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目录

image-20211118153556338

  • 将已更新得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
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐