Windows包管理工具scoop

  |  

摘要: Windows 包管理工具 Scoop

【对数据分析、人工智能、金融科技、风控服务感兴趣的同学,欢迎关注我哈,阅读更多原创文章】
我的网站:潮汐朝夕的生活实验室
我的公众号:潮汐朝夕
我的知乎:潮汐朝夕
我的github:FennelDumplings
我的leetcode:FennelDumplings


类似于 Linux 的 apt (参考 Linux软件包管理机制)、Mac 的 HomeBrew (参考 MacOS包管理器brew的安装和使用),Windows 也有类似的包管理工具,本文介绍一个对开发者比较友好的 Scoop。

Scoop 是开源的命令行包管理工具,应用程序的安装会限定在特殊目录中,不会污染环境变量,会创建 shims 作为启动脚本。使用者可以自定义 bucket,建自己的工具仓库。

Scoop 安装

1
iex (new-object net.webclient).downloadstring('https://get.scoop.sh')

Scoop 常用命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
alias      Manage scoop aliases
cache Show or clear the download cache
checkup Check for potential problems
cleanup Cleanup apps by removing old versions
config Get or set configuration values
create Create a custom app manifest
depends List dependencies for an app
export Exports (an importable) list of installed apps
help Show help for a command
home Opens the app homepage
install Install apps
list List installed apps
reset Reset an app to resolve conflicts
search Search available apps
status Show status and check for new app versions
uninstall Uninstall an app
update Update apps, or Scoop itself
which Locate a program path

Scoop Bucket

bucket 可以理解为 Scoop 的软件仓库,scoop-directory 是一个由 Scoop 官方和社区维护的,按照 Github score(由 Star 数量、Fork 数量和 App 数量综合决定的 Github score)排序的 bucket 列表。

创建自己的 bucket,可以基于官方项目 BucketTemplate,在 bucket文件夹中添加自己编写的 json 文件即可。

Scoop bucket 命令

1
2
3
4
scoop bucket known          //查看有哪几个butcket(仓库)
scoop bucket list //查看已添加的butcket(仓库)
scoop bucket add bucketName //添加bucket(仓库)
scoop bucket rm bucketName //移除bucket(仓库)

常用软件

git

下面安装一些 Linux 下常用的软件。以 git 为例,运行下面的命令即可:

1
scoop install git

安装完后,可以在 C:\Users\czx\scoop\shims\ 看到 git.exe。

ntop

ntop 的作用相当于 Linux 中的 htop。

1
scoop install ntop

vim

vim 是 Linux 中比较核心的一个编辑器,在 Windows 中安装还是挺复杂的,在 scoop 中安装依然是执行以下命令即可:

1
scoop install vim

打开 vim 后,执行 :version 可以看到当前运行的 vim 的信息:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
VIM - Vi IMproved 9.0 (2022 Jun 28, 编译于 Jun 28 2022 12:30:17)
MS-Windows 32 位控制台版本
编译者 mool@tororo
巨型版本 无图形界面。 可使用(+)与不可使用(-)的功能:
+acl +cmdline_compl +emacs_tags +ipv6 +modify_fname +printer +startuptime +timers +wildmenu
+arabic +cmdline_hist +eval +job +mouse +profile +statusline +title +windows
+autocmd +cmdline_info +ex_extra +jumplist -mouseshape -python -sun_workshop -toolbar +writebackup
+autochdir +comments +extra_search +keymap +multi_byte_ime/dyn -python3 +syntax +user_commands -xfontset
+autoservername +conceal -farsi +lambda +multi_lang +quickfix +tag_binary +vartabs -xim
-balloon_eval +cryptv +file_in_path +langmap -mzscheme +reltime -tag_old_static +vertsplit -xpm_w32
+balloon_eval_term +cscope +find_in_path +libcall -netbeans_intg +rightleft -tag_any_white +vim9script -xterm_save
-browse +cursorbind +float +linebreak +num64 -ruby -tcl +viminfo
++builtin_terms +cursorshape +folding +lispindent +packages +scrollbind +termguicolors +virtualedit
+byte_offset +dialog_con -footer +listcmds +path_extra +signs +terminal +visual
+channel +diff +gettext/dyn +localmap -perl +smartindent -termresponse +visualextra
+cindent +digraphs -hangul_input -lua +persistent_undo -sodium +textobjects +vreplace
+clientserver -dnd +iconv/dyn +menu +popupwin +sound +textprop +vtp
+clipboard -ebcdic +insert_expand +mksession -postscript +spell -tgetent +wildignore
系统 vimrc 文件: "$VIM\vimrc"
用户 vimrc 文件: "$HOME\_vimrc"
第二用户 vimrc 文件: "$HOME\vimfiles\vimrc"
第三用户 vimrc 文件: "$VIM\_vimrc"
用户 exrc 文件: "$HOME\_exrc"
第二用户 exrc 文件: "$VIM\_exrc"
defaults 文件: "$VIMRUNTIME\defaults.vim"
编译方式: cl -c /W3 /GF /nologo -I. -Iproto -DHAVE_PATHDEF -DWIN32 -DFEAT_CSCOPE -DFEAT_TERMINAL -DFEAT_SOUND -DFEAT_JOB_CHANNEL -DFEAT_IPV6 -DWINVER=0x0501 -D_WIN32_WINNT=0x0501
/source-charset:utf-8 /MP -DHAVE_STDINT_H /Ox /GL -DNDEBUG /arch:IA32 /Zl /MT /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE -DFEAT_MBYTE_IME -DDYNAMIC_IME -DDYNAMIC_ICONV -DDYNAMIC_GETTEXT -DFEAT_HUGE /Fd.\ObjCi386/ /Zi
链接方式: link /nologo /opt:ref /LTCG:STATUS oldnames.lib kernel32.lib advapi32.lib shell32.lib gdi32.lib comdlg32.lib ole32.lib netapi32.lib uuid.lib user32.lib /machine:i386 libcmt.lib winmm.lib WSock32.lib Ws2_32.lib /PDB:vim.pdb -debug

安装 spf13-vim,参考 github 仓库 中的 spf13-vim-windows-install.cmd,在 PowerShell 中按以下步骤执行。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
c:
cd $env:HOMEPATH
git@github.com:spf13/spf13-vim.git
mv spf13-vim .spf13-vim-3
New-Item -Path .vimrc -ItemType SymbolicLink -Value .\.spf13-vim-3\.vimrc
New-Item -Path _vimrc -ItemType SymbolicLink -Value .\.spf13-vim-3\.vimrc
New-Item -Path .vimrc.bundles -ItemType SymbolicLink -Value .\.spf13-vim-3\.vimrc.bundles
New-Item -Path .vimrc.before -ItemType SymbolicLink -Value .\.spf13-vim-3\.vimrc.before
New-Item -Path .vimrc.bundles.default -ItemType SymbolicLink -Value .\.spf13-vim-3\.vimrc.bundles.default
cd .spf13-vim-3
mkdir .vim
cd ..
New-Item -Path .vim -ItemType SymbolicLink -Value .\.spf13-vim-3\.vim
cd .\.spf13-vim-3\.vim\
mkdir bundle
cd .\bundle\
git clone git@github.com:gmarik/vundle.git
cd $env:HOMEPATH

然后打开各个 ~/. 前缀(例如 ~/.vimrc)的文件或文件夹,将其中的 ~/. 改为 C:/Users/czx/.,在 vim 中执行以下命令:

1
:%s/\~\/\.C:\/Users\/czx\/\./g

然后打开 vim,开始安装插件:

1
:BundleInstall

过程中遇到安装不成功的,可以查看对应的 github 仓库,有可能地址迁移了,或者已经被删了。自己做相应修改即可。

其它常用软件

其它一些常用的软件可以顺便安装:

1
scoop install sudo openssh less curl grep touch sed 7zip which

因为scoop自带的APP比较少,一些其他第三方的软件需要添加bucket中,scoop提供了一个extras的app列表,来提供更多常用的软件下载,用如下方法添加:

1
scoop bucket add extras https://github.com/lukesampson/scoop-extras.git

Share