npm常用命令(清除缓存,查看源,修改源为淘宝镜像),npm ci 命令

原淘宝镜像地址 http://npm.taobao.org和 http://registry.npm.taobao.org 将在 2022.06.30 号正式下线和停止 DNS 解析,新域名为 npmmirror.com,下方代码请自己手动替换修改

// 清除缓存
npm cache clean --force

// 查看npm源地址(不单独做配置时的默认源)
npm config get registry

// 查看缓存地址
npm config get cache

// 查看当前npm配置(可以查看某些包当前使用的源,node版本等)
npm config get

// 设置npm默认源为淘宝镜像
npm config set registry https://registry.npm.taobao.org

// 安装某个包时使用淘宝镜像(方式一)
npm config set xxx "https://npm.taobao.org/mirrors/xxx"
// 例如
npm config set sass_binary_site https://npm.taobao.org/mirrors/node-sass/
npm config set sharp_binary_host "https://npm.taobao.org/mirrors/sharp"
npm config set sharp_libvips_binary_host "https://npm.taobao.org/mirrors/sharp-libvips"

// 安装某个包时使用淘宝镜像(方式二)
npm_config_sass_binary_site=https://npm.taobao.org/mirrors/node-sass
npm_config_sharp_binary_host="https://npm.taobao.org/mirrors/sharp"
npm_config_sharp_libvips_binary_host="https://npm.taobao.org/mirrors/sharp-libvips"

// 该次安装某个包时使用淘宝镜像
npm i node-sass --sass_binary_site=https://npm.taobao.org/mirrors/node-sass/

npm ci

npm ci 命令适合放在持续集成中(测试平台,项目部署),特点如下:

  1. 拥有和 npm install 兼容的 API
  2. package-lock.json 在 npm ci 时是必须存在的,否则将会报错
  3. npm ci一次只能安装整个项目,不能使用此命令添加单个依赖项
  4. 安装开始前,删除原有node_modules文件夹
  5. 不会重写更新package.json和package-lock,json,既不会更新依赖项版本

package-lock.json 用于锁住 package 的版本号,避免在生产环境中因版本导致的构建错误或者运行时错误,对于前端工程化也意义非凡。npm ci 时 package-lock.json 必须存在也避免了此类问题的产生,它对项目的安全性有所提高。

查看某个npm包的信息

查看某个包的依赖项,多少个版本,协议,最近版本号等信息(以webpack举例)

npm info webpack

查看某个包的所有版本

npm view webpack versions

查看某个包最新版本(注意,没有s)

npm view webpack version

安装指定版本的包(如1.0.0版本)

npm install [email protected]

安装最新版本的包

npm install xxx@latest

查看本地是否全局安装某个包,以及包版本

npm ls xxx -g

查看本地全局安装的所有包

npm ls -g    // 会返回所有的包,包括该包的依赖,比较难以查看,特殊情况会用到
npm list -g --depth 0     // 返回全局安装的包,不显示其依赖包

npm install xxx --save与–save-dev区别

--save或不写参数或-S,都是默认将包加入package.json的dependencies
--save-dev或-D,是将包加入package.json的devDependencies

至于将包安装在dependencies和devDependencies的区别,请参考
dependencies与devDependencies区别

扫描二维码关注公众号,回复: 15259220 查看本文章

开了vpn代理后安装包却还是失败?因为命令行窗口并没有走代理!

安装各种npm 包的时候,经常会出现有些包被墙导致下载不下来等等各种问题,但是明明已经开了代理,且都是全局代理了,但就是下载不下来包?那是因为命令行窗口并没有走代理~
处理方法:
在git bash的命令行窗口中(支持linux命令)

export https_proxy="http://127.0.0.1:7890"
export http_proxy="http://127.0.0.1:7890"

端口号改为自己代理的端口号,该窗口的命令就会走代理了,但是是单次的,且只在当前窗口生效。如果需要全局配置,可以自己搜索下配置项

猜你喜欢

转载自blog.csdn.net/m0_37793545/article/details/113118304