包管理器

重要通知

基本概况

包管理器,又称软件包管理系统,它是在电脑中自动安装、配制、卸载和升级软件包的工具组合,在各种系统软件和应用软件的安装管理中均有广泛应用。

国内镜像

> 阿里云:http://mirrors.aliyun.com/pypi/simple/
> 中国科技大学:https://pypi.mirrors.ustc.edu.cn/simple/
> 豆瓣(douban):http://pypi.douban.com/simple/
> 清华大学:https://pypi.tuna.tsinghua.edu.cn/simple/
> 中国科学技术大学:http://pypi.mirrors.ustc.edu.cn/simple/

科大镜像:https://docker.mirrors.ustc.edu.cn/
网易:https://hub-mirror.c.163.com/
阿里云:https://<你的ID>.mirror.aliyuncs.com
七牛云加速器:https://reg-mirror.qiniu.com

> http://pypi.doubanio.com/simple/

更改镜像源

备份系统自带yum源配置文件:/etc/yum.repos.d/CentOS-Base.repo cd /etc/yum.repos.d/ 下载相关第三方镜像:wget http://mirrors.163.com/.help/CentOS7-Base-163.repo

基础操作

cd cd /etc/yum.repos.dll

package.json

{
	"scripts": {

	},

	"dependencies": {},

	"devDependencies": {},

	"browserslist": [],

	// 强制统一所有包依赖相同的库版本,在yarn指令中有效
	"resolutions": {
		"react": "18.2.0"
	}
}





{
  "name": "包名称", // 当前的版本。
  "version": "1.0.0", // 应用程序/软件包的名称。
  "description": "描述内容", // 应用程序/软件包的简短描述。
  "author": {
    "name": "大前端架构设计",
    "email": "web@163.com",
    "url": "https://web.ysunlight.com"
  },
  "contributors": ["", ""], // 列出其他一个或多个贡献者的数组
  "bugs": "https://github.com/nodejscn/node-api-cn/issues", // 链接到软件包的问题跟踪器,最常用的是 GitHub 的 issues 页面。
  "homepage": "http://nodejs.cn", // 设置软件包的主页。
  "license": "MIT", // 指定软件包的许可证。
  "keywords": ["", ""], // 包含与软件包功能相关的关键字数组。
  "repository": "url", // 此属性指定了此程序包仓库所在的位置。

  "main": "main.js", // 应用程序的入口点。
  "private": true, // 设置为 true,则可以防止应用程序/软件包被意外地发布到 npm。

  // 定义了一组可以运行的 node 脚本。命令行指令,例如:nodemon | node | webpack-dev-server | npm | jest | eslint
  "scripts": {},

  // 设置了作为依赖安装的 npm 软件包的列表。npm i --save
  "dependencies": {},

  // 设置了作为开发依赖安装的 npm 软件包的列表。npm i --save-dev
  "devDependencies": {},

  // 设置了此软件包/应用程序在哪个版本的 Node.js 上运行。
  "engines": {
    "node": ">= 6.0.0",
    "npm": ">= 3.0.0"
  },

  // 支持哪些浏览器(及其版本
  "browserslist": []
}

pnpm、yarn、npm功能比较

npm

node.js环境下的依赖包管理工具。 锁定某个版本:npm install -g npm@6.9.0,该npm版本对应Node.js 12.6.0 全局安装:npm install npm -g 局部安装:npm install npm@version

  • 官网:https://www.npmjs.com/
  • 账户中心:https://www.npmjs.com/settings/ysungod/profile
  • npm与node对应版本:https://nodejs.org/zh-cn/download/releases/
  • 镜像直接下载npm与node对应版本:https://registry.npmmirror.com/binary.html?path=npm/

清除缓存

# 清除npm缓存
> npm cache clean --force

# 删除node_modules文件夹并重新安装依赖
rm -rf node_modules
npm install


# 定期检查依赖更新
> npm outdated




# 查看本地全局安装包
npm list -g --depth=0 --json

数据源管理

# 查看镜像源
npm config get registry #默认值, https://registry.npmjs.org/ 方便恢复


# 设置腾讯云 npm 镜像源
npm config set registry https://mirrors.cloud.tencent.com/npm/ -g

# 稳定镜像源 | 非常稳定
npm config set registry https://registry.npmmirror.com -g


# 恢复原有源
npm config set registry http://registry.npmjs.org -g

# 切换私有 Git 源  Username: luoying  Password: DThewB$v^nj9DTVT   邮箱:wangjun@tuzhanai.com
npm config set registry http://npm.tuzhanai.com -g
npm login --registry=http://npm.tuzhanai.com

全局安装位置

  • Linux: /usr/local/lib/node_modules
  • Mac: /usr/local/lib/node_modules
  • win10: C:\Program Files\nodejs
> npm root -g # 全局安装路径

> npm config get prefix # 查看全局安装位置
> npm config set prefix "目录路径" # 设置全局安装位置

--save与--save-dev区别

npm install -save | -S

安装依赖到 mode_modules 目录下,写入dependencies节点, npm install 时下载该依赖,一般安装生成环境所用依赖, 如 vue, element-ui, echarts…

# 安装到node_modules目录中,保存在package.json中dependencies字段下,安装生产环境依赖的模块
npm install [module] --save | -S


{
  "dependencies": {
    // 
  }
}

npm install --save-dev | -D

安装依赖到 mode_modules 目录下,写入devDependencies节点, npm install 时下载该依赖,一般安装开发环境所用依赖, 如 wabpack, babel…

# 安装到node_modules目录中,保存在package.json中devDependencies字段下,安装开发环境依赖的模块,即项目开发时的模块,例如babel(转码器,可以将ES6代码转为ES5代码)等一些工具,只需在开发环境是用到。
npm install [module] --save-dev | -D


{
  "devDependencies": {
    // 
  }
}

账号

Username:ysungod Email address:ysungod@163.com Password:npmps123456

核心语法

# 查看哪些依赖项导致了冲突
> npm ls react

基本语法

> npm install module_name [--force]             #install
> npm uninstall module_name            #uninstall
> npm update module_name               #update
> npm search module_name               #搜索

# 撤销自己发布的版本nvm install
> npm --force unpublish module_name   

# 查看最高版本
> npm view [module] version

# 查看所有版本
> npm view [module] versions

# 更新版本号
> npm i module@version

# 更新最新版本
> npm i module@latest

# 清除缓存
> npm cache clean --force


# 安装指定版本
> npm install [module]@<version>

安装cnpm源

npm install -g cnpm --registry=https://registry.npm.taobao.org  # 安装

安装: 软连接:ln -s /home/app/node-v12.14.0-linux-x64/bin/cnpm /usr/local/bin/
如果已经创建软连接,执行命令强行覆盖:ln -sf /home/app/node-v12.14.0-linux-x64/bin/cnpm /usr/local/bin/ cnpm -v #查看版本

背景:在本地开发npm模块时,使用npm link命令,将npm 模块链接到对应的运行项目中,方便地对模块进行调试和测试

开发npm包

  • 基础指令
npm login # 登录
npm publish # 发布 注意更新版本
npm unpublish # 撤销发布
npm unpublish --force # 强制删除 仅限24小时内

npm link # 全局安装当前目录的包
npm unlink # 全局卸载当前目录的包
  • 初始化NPM包
cd /[package] # 创建NPM包目录
npm init # 初始化NPM包
  • 本地开发调试
# 创建npm包目录
cd /[npm-link-module] 

# 工程项目
cd /webpack/loader/ysun 

# 步骤一:进入npm包目录,执行以下指令,[npm-link-module]会根据package.json上的配置,被链接到全局,路径是{prefix}/lib/node_modules/<package>
> npm link

# 注意系统环境的目录不一致


# 步骤一:进入工程项目,执行以下指令,[npm-link-module]就会被链接到ysun项目的node_modules目录下
> npm link [npm-link-module]
  • 然后,就可以在工程ysun目录下正常引用
// ES6
import module from 'npm-link-module';

// node.js环境
const module = require('npm-link-module');

npx

一个 npm 包执行器,我们可以使用 npx 来执行各种命令。

# 安装npx命令 | npm 从5.2版开始,增加了 npx 命令
npm install -g npx

# npx安装后无效的解决方案 | 没有配置环境变量   # npm prefix -g   # 显示npx安装路径
echo -e "export PATH=$(npm prefix -g)/bin:$PATH" >> ~/.bashrc && source ~/.bashrc # 输入通用命令
npx -v # 再次执行查看

Verdaccio搭建私有npm包

Verdaccio是一个基于 Node.js 的轻量级私有仓库。

> pnpm install -g verdaccio

常见问题

  • sudo npm:报错:sudo: npm: command not found

排查,执行which npm,出现:/usr/local/bin/npm。这是普通用户权限目录,而sudo执行的是root权限,所以失败

sudo ln -s /usr/local/bin/npm /usr/bin/npm

pnpm

Pnpm,快速的,节省磁盘空间的包管理工具。pnpm 会在全局的 store 目录里存储项目 node_modules 文件的 hard links 。

/root/.pnpm-store/v3
node_modules/.pnpm

安装配置

# 注意:安装pnpm后pnpm -v没有效果,具体解决方案见:/home/meta/nodejs/进程守护与服务器运维架构/进程守护nodemon.md, 在Linux中nodemon无效问题
npm install -g pnpm

基本命令

pnpm install [module] # 安装
pnpm i [module]
pnpm run <cmd> # 运行
pnpm lint
pnpm eslint
pnpm add <pkg>
which pnpm # 定位pnpm位置
pnpm root -g # 查看包
pnpm rm -g <pkg> # 删除包
npm rm -g pnpm # 删除pnpm

常见问题

  • ERROR: This version of pnpm requires at least Node.js v12.17

  • 执行 pnpm add -g pnpm 升级pnpm 失败

pnpm setup # 步骤一
source /root/.bashrc # 步骤二

yarn

快速、可靠、安全的依赖管理工具。

安装配置

npm install -g yarn
yarn -v # 版本号
yarn global dir # 全局安装

安装项目模块

yarn install  # 即可安装所依赖的模块

yarn start # 启动项目
yarn build # 打包项目

基本指令

# 全局安装
yarn global add [node_module]

yarn add -D [package] # "devDependencies"
yarn add [package] --dev. # 分别添加到 devDependencies、peerDependencies 和 optionalDependencies 类别中
yarn add [package] --peer 
yarn add [package] --optional

yarn | yarn install # 安装项目的全部依赖

yarn init # 初始化项目

yarn add [package] | yarn add [package]@[version] | yarn add [package]@[tag] # 添加依赖包
yarn upgrade [package] | yarn upgrade [package]@[version] | yarn upgrade [package]@[tag] # 升级依赖包
yarn remove [package] # 移除依赖包





# 查看本地全局安装包
yarn global list

创建一个包


发布一个包


注意事项

  • win10上安装配置出现:yarn : 无法加载文件 C:\Program Files\nodejs\yarn.ps1,因为在此系统上禁止运行脚本

yum

简介与核心思想

yum:[Linux], Shell前端软件包管理器

基本指令

检测yum:rpm -qa yum # 如果不存在,则为空

# 查看版本
> yum --version

#########################################

无python环境安装yum | 注意CentOS版本与rpm相关依赖包

#########################################

删除python

强制删除已安装程序及其关联:rpm -qa|grep python|xargs rpm -ev --allmatches --nodeps 删除所有残余文件:whereis python |xargs rm -frv 验证是否删除:whereis python

删除yum

rpm -qa|grep yum|xargs rpm -ev --allmatches --nodeps whereis yum |xargs rm -frv

下载python依赖包

下载yum依赖包

安装 yum

wget http://yum.baseurl.org/download/3.4/yum-3.4.0.tar.gz tar -xvf yum-3.4.0.tar.gz touch /etc/yum.conf cd yum-3.4.0 yummain.py install yum

安装

yum install 全部安装 yum install package 安装指定的安装包 package。 yum install package -y 直接安装不用询问是否安装。 yum groupinsall group 安装程序组 group。

更新和升级

yum update 全部更新。 yum update package 更新指定程序包 package。 yum check-update 检查可更新的程序。 yum upgrade package 升级指定程序包 package。 yum groupupdate group 升级程序组 group。

查找和显示

yum info package 显示安装包信息 package。 yum info updates 列出更新信息。 yum info installed 列出安装包信息。 yum info extras 列出已安装,但不在 repo 中的包的信息。 yum list 显示所有已经安装和可以安装的程序包。 yum list updates 列出所有可更新的包。 yum list installed 列出所有已经安装的包。 yum list extras 列出所有已安装,但是没有在 repo 里的包。 yum list [package] 显示指定程序包安装情况 package。 yum groupinfo group 显示程序组 group 信息。 yum search string 根据关键字 string 查找安装包。 yum repolist 查看(开启的)资源库。 yum repolist all 查看所有资源库。 yum search 使用 YUM 查找软件包。 yum provides 列出包中文件。

删除程序

yum remove package 删除程序包 package。 yum groupremove group 删除程序组 group。 yum deplist package 查看程序 package 依赖情况。

清除缓存

yum clean packages 清除缓存目录下的软件包。 yum clean headers 清除缓存目录下的 headers。 yum clean oldheaders 清除缓存目录下旧的 headers。 yum clean/yum clean all 清除缓存目录下的软件包及旧的 headers。

brew

brew是MacOS系统下的软件依赖包管理工具。

安装配置

> /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"


# 可能会出现的问题
curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused
# 解决方案
> /usr/bin/ruby -e "$(curl -fsSL https://cdn.jsdelivr.net/gh/ineo6/homebrew-install/install)"

> brew -v # 查看版本


# 查看安装位置
brew list shopify-cli


# 全局安装位置
> cd /usr/local/Cellar # Mac

基础指令

> brew install module_name # 安装
> brew uninstall module_name # 卸载
> brew update module_name # 更新
> brew search module_name # 搜索

-----------------------------------------------------------------------------

常见问题

-----------------------------------------------------------------------------

curl: (35) LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to raw.githubusercontent.com:443

解决方案:/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

curl-wget

简介与核心思想

wget:是一个下载文件的工具 curl:是一个利用URL规则在命令行下工作的文件传输工具

【curl --help】【wget --help】 GNU Wget 1.20.3,非交互式的网络文件下载工具。 用法: wget [选项]... [URL]...

长选项所必须的参数在使用短选项时也是必须的。

启动:
  -V,  --version                   显示 Wget 的版本信息并退出
  -h,  --help                      打印此帮助
  -b,  --background                启动后转入后台
  -e,  --execute=命令              运行一个“.wgetrc”风格的命令

日志和输入文件:
  -o,  --output-file=文件          将日志信息写入 FILE
  -a,  --append-output=文件        将信息添加至 FILE
  -q,  --quiet                     安静模式 (无信息输出)
  -v,  --verbose                   详尽的输出 (此为默认值)
  -nv, --no-verbose                关闭详尽输出,但不进入安静模式
       --report-speed=类型         以 <类型> 报告带宽。类型可以是 bits
  -i,  --input-file=文件           下载本地或外部 <文件> 中的 URL
  -F,  --force-html                把输入文件当成 HTML 文件
  -B,  --base=URL                  解析相对于 URL 的 HTML 输入文件链接 (-i -F)
       --config=文件               指定要使用的配置文件
       --no-cookies                不读取任何配置文件
       --rejected-log=文件         将拒绝 URL 的原因写入 <文件>。

下载:
  -t,  --tries=数字                设置重试次数为 <数字> (0 代表无限制)
       --retry-connrefused         即使拒绝连接也是重试
       --retry-on-http-error=ERRORS    提供以逗号分隔的列表,列出遇到时进行重试的 HTTP 错误
  -O,  --output-document=文件      将文档写入 FILE
  -nc, --no-clobber                不要下载已存在将被覆盖的文件
       --no-netrc                  不要尝试从 .netrc 获取凭据
  -c,  --continue                  断点续传下载文件
       --start-pos=偏移量          从由零计数的 <偏移量> 开始下载
       --progress=类型             选择进度条类型
       --show-progress             在任意啰嗦状态下都显示进度条
  -N,  --timestamping              只获取比本地文件新的文件
       --no-if-modified-since      不要在时间戳 (timestamping) 模式下使用
                                     if-modified-since get 条件请求
       --no-use-server-timestamps  不用服务器上的时间戳来设置本地文件
  -S,  --server-response           打印服务器响应
       --spider                    不下载任何文件
  -T,  --timeout=SECONDS           将所有超时设为 SECONDS 秒
       --dns-timeout=SECS          设置 DNS 查寻超时为 SECS 秒
       --connect-timeout=SECS      设置连接超时为 SECS 秒
       --read-timeout=SECS         设置读取超时为 SECS 秒
  -w,  --wait=SECONDS              等待间隔为 SECONDS--waitretry=SECONDS         在获取文件的重试期间等待 1..SECONDS 秒
       --random-wait               获取多个文件时,每次随机等待间隔 (0.5~1.5)*WAIT 秒
       --no-proxy                  禁止使用代理
  -Q,  --quota=数字                设置获取配额为 <数字> 字节
       --bind-address=ADDRESS      绑定至本地主机上的 ADDRESS (主机名或是 IP)
       --limit-rate=RATE           限制下载速率为 RATE
       --no-dns-cache              关闭 DNS 查询缓存
       --restrict-file-names=系统  限定文件名中的字符为 <系统> 允许的字符
       --ignore-case               匹配文件/目录时忽略大小写
  -4,  --inet4-only                仅连接至 IPv4 地址
  -6,  --inet6-only                仅连接至 IPv6 地址
       --prefer-family=地址族      首先连接至指定家族(IPv6,IPv4 或 none)的地址
       --user=用户                 将 ftp 和 http 的用户名均设置为 <用户>
       --password=密码             将 ftp 和 http 的密码均设置为 <密码>
       --ask-password              提示输入密码
       --use-askpass=命令          指定用于请求用户名和密码的凭据管理器。
                                     如果没有提供指定命令,程序将使用 WGET_ASKPASS 或
                                     SSH_ASKPASS 环境变量。
       --no-iri                    关闭 IRI 支持
       --local-encoding=ENC        使用 ENC 作为 IRI (国际化资源标识符) 的本地编码
       --remote-encoding=ENC       使用 ENC 作为默认远程编码
       --unlink                    覆盖前移除文件
       --xattr                     turn on storage of metadata in extended file attributes

目录:
  -nd, --no-directories            不创建目录
  -x,  --force-directories         强制创建目录
  -nH, --no-host-directories       不要创建主 (host) 目录
       --protocol-directories      在目录中使用协议名称
  -P,  --directory-prefix=前缀     保存文件到 <前缀>/..
       --cut-dirs=数字             忽略远程目录中 <数字> 个目录层。

HTTP 选项:
       --http-user=用户            设置 http 用户名为 <用户>
       --http-password=密码        设置 http 密码为 <密码>
       --no-cache                  不使用服务器缓存的数据。
       --default-page=NAME         改变默认页 (通常是“index.html”)。
  -E,  --adjust-extension          以合适的扩展名保存 HTML/CSS 文档
       --ignore-length             忽略头部的‘Content-Length’区域
       --header=字符串             在头部插入 <字符串>
       --compression=类型          选择压缩类型,值可以为 auto、gzip 和 none。(默认:none)
       --max-redirect              每页所允许的最大重定向
       --proxy-user=用户           使用 <用户> 作为代理用户名
       --proxy-password=密码       使用 <密码> 作为代理密码
       --referer=URL               在 HTTP 请求头包含‘Referer: URL’
       --save-headers              将 HTTP 头保存至文件。
  -U,  --user-agent=代理           标识自己为 <代理> 而不是 Wget/VERSION。
       --no-http-keep-alive        禁用 HTTP keep-alive (持久连接)。
       --no-cookies                不使用 cookies。
       --load-cookies=文件         会话开始前从 <文件> 中载入 cookies。
       --save-cookies=文件         会话结束后保存 cookies 至 FILE。
       --keep-session-cookies      载入并保存会话 (非永久) cookies。
       --post-data=字符串          使用 POST 方式;把 <字串>作为数据发送。
       --post-file=文件            使用 POST 方式;发送 <文件> 内容。
       --method=HTTP方法           在请求中使用指定的 <HTTP 方法>。
       --post-data=字符串          把 <字串> 作为数据发送,必须设置 --method
       --post-file=文件            发送 <文件> 内容,必须设置 --method
       --content-disposition       当选择本地文件名时允许 Content-Disposition
                                   头部 (实验中)。
       --content-on-error          在服务器错误时输出接收到的内容
       --auth-no-challenge         不先等待服务器询问就发送基本 HTTP 验证信息。

HTTPS (SSL/TLS) 选项:
       --secure-protocol=PR         选择安全协议,值可以是 auto、SSLv2、
                                    SSLv3、TLSv1、TLSv1_1、TLSv1_2 或 PFS
       --https-only                 只跟随安全的 HTTPS 链接
       --no-check-certificate       不要验证服务器的证书。
       --certificate=文件           客户端证书文件。
       --certificate-type=类型      客户端证书类型,PEM 或 DER。
       --private-key=文件           私钥文件。
       --private-key-type=类型      私钥文件类型,PEM 或 DER。
       --ca-certificate=文件        带有一组 CA 证书的文件。
       --ca-directory=DIR           保存 CA 证书的哈希列表的目录。
       --ca-certificate=文件        带有一组 CA 证书的文件。
       --pinnedpubkey=文件/散列值  用于验证节点的公钥(PEM/DER)文件或
                                   任何数量的 sha256 散列值,以 base64 编码、
                                   “sha256//” 开头、用“;”间隔
       --random-file=文件           用于初始化 SSL 伪随机数生成器(PRNG)的文件,
                                      应含有随机数据
       --egd-file=文件              用于命名带有随机数据的 EGD 套接字的文件。

       --ciphers=STR           Set the priority string (GnuTLS) or cipher list string (OpenSSL) directly.
                                   Use with care. This option overrides --secure-protocol.
                                   The format and syntax of this string depend on the specific SSL/TLS engine.
HSTS 选项:
       --no-hsts                   禁用 HSTS
       --hsts-file                 HSTS 数据库路径(将覆盖默认值)

FTP 选项:
       --ftp-user=用户             设置 ftp 用户名为 <用户>。
       --ftp-password=密码         设置 ftp 密码为 <密码>
       --no-remove-listing         不要删除‘.listing’文件
       --no-glob                   不在 FTP 文件名中使用通配符展开
       --no-passive-ftp            禁用“passive”传输模式
       --preserve-permissions      保留远程文件的权限
       --retr-symlinks             递归目录时,获取链接的文件 (而非目录)

FTPS 选项:
       --ftps-implicit                 使用隐式 FTPS(默认端口 990)
       --ftps-resume-ssl               打开数据连接时继续控制连接中的 SSL/TLS 会话
       --ftps-clear-data-connection    只加密控制信道;数据传输使用明文
       --ftps-fallback-to-ftp          回落到 FTP,如果目标服务器不支持 FTPS
WARC 选项:
       --warc-file=文件名          在一个 .warc.gz 文件里保持请求/响应数据
       --warc-header=字符串        在头部插入 <字符串>
       --warc-max-size=数字        将 WARC 的最大尺寸设置为 <数字>
       --warc-cdx                  写入 CDX 索引文件
       --warc-dedup=文件名         不要记录列在此 CDX 文件内的记录
       --no-warc-compression       不要 GZIP 压缩 WARC 文件
       --no-warc-digests           不要计算 SHA1 摘要
       --no-warc-keep-log          不要在 WARC 记录中存储日志文件
       --warc-tempdir=目录         WARC 写入器的临时文件目录

递归下载:
  -r,  --recursive                 指定递归下载
  -l,  --level=数字                最大递归深度 (inf 或 0 代表无限制,即全部下载)。
       --delete-after              下载完成后删除本地文件
  -k,  --convert-links             让下载得到的 HTML 或 CSS 中的链接指向本地文件
       --convert-file-only         只转换 URL 的文件部分(一般叫做“基础名”/basename)
       --backups=N                 写入文件 X 前,轮换移动最多 N 个备份文件
  -K,  --backup-converted          在转换文件 X 前先将它备份为 X.orig。
  -m,  --mirror                    -N -r -l inf --no-remove-listing 的缩写形式。
  -p,  --page-requisites           下载所有用于显示 HTML 页面的图片之类的元素。
       --strict-comments           用严格方式 (SGML) 处理 HTML 注释。

递归接受/拒绝:
  -A,  --accept=列表               逗号分隔的可接受的扩展名列表
  -R,  --reject=列表               逗号分隔的要拒绝的扩展名列表
       --accept-regex=REGEX        匹配接受的 URL 的正则表达式
       --reject-regex=REGEX        匹配拒绝的 URL 的正则表达式
       --regex-type=类型           正则类型 (posix)
  -D,  --domains=列表              逗号分隔的可接受的域名列表
       --exclude-domains=列表      逗号分隔的要拒绝的域名列表
       --follow-ftp                跟踪 HTML 文档中的 FTP 链接
       --follow-tags=列表          逗号分隔的跟踪的 HTML 标识列表
       --ignore-tags=列表          逗号分隔的忽略的 HTML 标识列表
  -H,  --span-hosts                递归时转向外部主机
  -L,  --relative                  仅跟踪相对链接
  -I,  --include-directories=列表  允许目录的列表
       --trust-server-names        使用重定向 URL 的最后一段作为本地文件名
  -X,  --exclude-directories=列表  排除目录的列表
  -np, --no-parent                 不追溯至父目录

请将错误报告、问题和讨论寄信至 bug-wget@gnu.org 和/或在 https://savannah.gnu.org/bugs/?func=additem&group=wget 开 issue 进行讨论。

pip

菜鸟教程:https://www.runoob.com/w3cnote/python-pip-install-usage.html

基础指令

pip3 list #查看版本 pip3 -V #查看pip pip -V

Linux安装pip

wget https://bootstrap.pypa.io/get-pip.py python3 get-pip.py # 注意python get-pip.py会无效,因为get-pip.py可能是python3的语法实现

pip

python3 -m pip install --upgrade pip #更新pip新版本19.3.1

pip无效的问题 | 注意pip的实际安装路径

ln -s /usr/local/python3/bin/pip /usr/local/bin/pip ln -s /usr/local/python3/bin/pip3 /usr/local/bin/pip3

基本操作

卸载包:pip uninstall [package] 安装包:pip install [package] 搜索包:pip search [package]

如果 Python2 和 Python3 同时有 pip,则使用方法

Python2:python2 -m pip install [package] Python3:python3 -m pip install [package]

Last Updated:
Contributors: 709992523, Eshen