多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
[TOC] # winget 目前还不完善,需要申请,然后用 MicroSoft登陆账户,从应用商店安装! # Scoop(推荐) [Scoop](https://github.com/lukesampson/scoop) is a command-line installer for Windows inspired by Homebrew. <i style="color:red">Xee:</i>**Scoop可以用来[安装yarn](https://yarnpkg.com/zh-Hans/docs/install)就避免了再次安装node的尴尬...** [Scoop](http://scoop.sh/) 是 windows 上个一个包管理工具,安装命令行命令比较实用,通过scoop能快速在机器上安装所需要的标准工具、自定义工具。 ## 安装 必须使用 powershell 3.0 以上,在命令行窗口中输入命令 `$PSVersionTable.PSVersion` 查看版本 ![](https://box.kancloud.cn/2441d7ef314f655f18a11cb2aa5fc0af_401x89.png) 查看命令的结果,其中 "Major" 既是当前已安装 PowerShell 的版本号 如果是 3.0 以下,需要升级才可以使用。 ``` 如何升级? 需要先将如下环境安装好后重启计算机: 1. 先安装好 Microsoft .NET Framework 4.5 http://www.microsoft.com/zh-CN/download/details.aspx?id=30653 2. 再安装 Windows Management Framework 4.0:https://www.microsoft.com/zh-CN/download/details.aspx?id=40855(64 位 win7系统安装 Windows6.1-KB2819745-x64-MultiPkg.msu,32位 win7 系统安装 Windows6.1-KB2819745-x86-MultiPkg.msu) 第一步,打开powershell3.0+,输入以下代码,选择A【全是】 set-executionpolicy remotesigned -s cu 上面成功之后,进入第二步 iex (new-object net.webclient).downloadstring('https://get.scoop.sh') 这时候 scoop 就已经在当前计算机上安装好了。 ``` ## 先自定义安装目录 这种方式都可以避免将软件装到 系统盘!防止以后越来越臃肿的系统 提示 “系统盘空间不足!” 1. 将Scoop安装到自定义目录(命令行方式) ``` $env:SCOOP='D:\Scoop' [Environment]::SetEnvironmentVariable('SCOOP', $env:SCOOP, 'User') ``` **小坑**:如果你在命令行下载scoop(Initializing...Downloading...)的过程中强行终止了。 那么会无法正常使用,而且也无法重复下载,解决办法是找到 scoop 的下载目录(笔者的目录是:C:\Users\用户名\scoop),删除然后重新执行以上命令重新下载即可。 2. 将 Scoop 配置为将全局程序安装到自定义目录 `SCOOP_GLOBAL`(命令行方式) ``` $env:SCOOP_GLOBAL='D:\ScoopApps' [Environment]::SetEnvironmentVariable('SCOOP_GLOBAL', $env:SCOOP_GLOBAL, 'Machine') ``` # 添加软件源 scoop 默认的软件有点少。 ``` scoop bucket add extras scoop bucket scoop-fruit https://hub.fastgit.org/chandlerver5/scoop-fruit ``` 后续按情况再添加其它源! # 安装`aria2`加速下载 Scoop 可以利用 aria2 来使用多连接下载。通过Scoop 安装后,可用于以后的所有下载,命令如下: ~~~shell scoop install aria2 ~~~ aria2 相关配置: ~~~ aria2-enabled (默认值: true) aria2-retry-wait (默认值: 2) aria2-split (默认值: 5) aria2-max-connection-per-server (默认值: 5) aria2-min-split-size (默认值: 5M) ~~~ # 安装 openssh ``` scoop install -g main/openssh ``` # 安装 yarn ``` scoop install -g yarn ``` 我们发现,下载的过程中自动下载了依赖 7zip。这说明scoop会帮助我们管理程序之间的依赖。不仅如此,下载之后的内容会自动将加入到(Path)环境变量中。十分方便! 下载完成之后的资源会放在类似 `C:\Users\你的用户名\scoop\apps` 的位置。 # Notepad3 ``` scoop install notepad3 -g ``` 注册右键: ``` Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\*\shell\Open With Notepad] @="Open with Notepad" "Icon"="D:\\dev\\apps\\notepad3\\current\\Notepad3.exe" [HKEY_CLASSES_ROOT\*\shell\Open With Notepad\command] @="\"D:\\dev\\apps\\notepad3\\current\\Notepad3.exe\" \"%1\"" ``` 取消右键: ``` Windows Registry Editor Version 5.00 [-HKEY_CLASSES_ROOT\*\shell\Open With Notepad] ``` # 常见问题 ## 文件名、目录名或卷标语法不正确。 [Redirect "global" yarn directory#2969](https://github.com/lukesampson/scoop/pull/2969) ~~~ tsc 文件名、目录名或卷标语法不正确。 yarn global bin yarn global dir ~~~ 使用 `scoop which nrm` 查看该命令所在位置! 删除该位置:即可! ``` D:\Applications\Scoop\apps\yarn\current\Yarn\bin ``` # bash和sh区别 junru 同学作了解释: 1. `sh`一般设成`bash`的软链 ~~~ [work@zjm-testing-app46 cy]$ ll /bin/sh lrwxrwxrwx 1 root root 4 Nov 13 2006 /bin/sh -> bash ~~~ 2. 在一般的 linux 系统当中(如 redhat),使用 sh 调用执行脚本相当于打开了 bash 的 POSIX 标准模式 3. 也就是说 `/bin/sh` 相当于`/bin/bash --posix` 所以,`sh`跟`bash`的区别,实际上就是`bash`有没有开启 posix 模式的区别 可以预想的是,如果第一行写成`#!/bin/bash --posix`,那么脚本执行效果跟`#!/bin/sh`是一样的(遵循 posix 的特定规范,有可能就包括这样的规范:"当某行代码出错时,不继续往下解释") # 参考 http://blog.csdn.net/anlegor/article/details/46681885 [Scoop安装遇到 “raw.githubusercontent.com未能解析” 解决方案](https://blog.csdn.net/qq_41061352/article/details/107140887)