scoop是windows上个一个包管理工具,通过scoop能快速在机器上安装所需要的标准工具、自定义工具。
scoop的安装需要power Shell3,如果是win7环境,则需要先将如下环境安装好后重启计算机:
- 安装.NetFramwork 4.0以上版本http://www.microsoft.com/en-us/download/details.aspx?id=30653
- 安装Windows Management Framework 3.0 :http://www.microsoft.com/en-us/download/details.aspx?id=34595(64位win7系统安装Windows6.1-KB2506143-x64.msu,32位win7系统安装Windows6.1-KB2506143-x86.msu)
重启计算及后,进入powershell命令行窗口并进行简单设置:“set-executionpolicy unrestricted -s cu”
安装scoop:“iex (new-object net.webclient).downloadstring('https://get.scoop.sh')”,这时候scoop就已经在当前计算机上安装好了。
1、 我们在命令行下执行scoop help,就可以看到所执行的命令行参数
2、我们如果要安装一个工具,只需执行“scoop install xxx”即可
3、如果要查看安装了什么工具,只需要"scoop list"即可
4、而要更新或者卸载对应工具,则只需使用“scoop install/uninstall xxx”即可
5、scoop安装的工具模板保存在“%userprofile%\AppData\Local\scoop”下
6、需要注意的是本地只会保存每个工具的最新版本,并且不同工具应用之间是互相隔离。
那我们能使用scoop安装什么工具应用呢?如果有自定义的需求怎么办?
scoop中提供了一个很重要的概念:Buckets,这里定义了能安装的插件,scoop提供了一个main bucket,https://github.com/lukesampson/scoop/tree/master/bucket,当我们使用scoop install app的时候,其实就是先从这里找到对应的app.json,然后根据json文件进行插件的下载安装。
既然有main bucket,当然还有其他的,scoop提供了一个extra bucket,https://github.com/lukesampson/scoop-extras,这里提供了更多的可供使用的工具安装。当然我们是有自定义需求的,所以scoop还提供了你自己来定义自己的bucket,用法如:“scoop bucket add <name-of-bucket> <location-of-git-repo>”。
那我们怎么来定义所需要的工具来使用scoop进行管理呢?
1、每个工具对于scoop而言都是一个app
2、app通过manifest文件进行定义 ,其实际内容就是一个json文件,如:
{
"homepage"
:
"<a href="http://curl.haxx.se/" "="" style="color: rgb(53, 114, 176); text-decoration: none; border-radius: 0px !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; box-sizing: content-box !important; min-height: inherit !important; background: none !important;">http://curl.haxx.se/"
,
"version"
:
"7.39.0"
,
"licence"
:
"MIT"
,
"architecture"
: {
"64bit"
: {
"url"
:
"<a href="http://www.confusedbycode.com/curl/curl-7.39.0-win64.zip" "="" style="color: rgb(53, 114, 176); text-decoration: none; border-radius: 0px !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; box-sizing: content-box !important; min-height: inherit !important; background: none !important;">http://www.confusedbycode.com/curl/curl-7.39.0-win64.zip"
,
"hash"
:
"946c3ab2625b9352a846e493319978b1ef2818173c711ed8b1bb8c0e04189ee4"
,
"extract_dir"
:
"curl-7.39.0-win64"
},
"32bit"
: {
"url"
:
"<a href="http://www.confusedbycode.com/curl/curl-7.39.0-win32.zip" "="" style="color: rgb(53, 114, 176); text-decoration: none; border-radius: 0px !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important; box-sizing: content-box !important; min-height: inherit !important; background: none !important;">http://www.confusedbycode.com/curl/curl-7.39.0-win32.zip"
,
"hash"
:
"e97a78dc97ece670580cccf735a5ec048513da0a9ba5135d4ae227b7cde68dba"
,
"extract_dir"
:
"curl-7.39.0-win32"
}
},
"bin"
:
"bin/curl.exe"
,
"checkver"
:
"The most recent stable version is\\s*<b>([0-99\\.]+)"
}
|
3、参见https://github.com/lukesampson/scoop/wiki/App-Manifests,可以看到该json文件的具体写法。
4、我们在安装这些app之前,可以先看下scoop是否已经提供出来对应的app了,"scoop search appname",而同时需要注意的是,某些时候app之前会有些依赖,那么你可以通过"scoop status appname"来查看这些依赖:
当然scoop并不是唯一的此类工具,还有Chocolatey NuGet,npackd,cygwin、puttet等。