npm 常用命令

一、npm 基础使用

1、npm 安装

前往node.js官网下载并安装工具,安装完毕在命令行输入以下命令测试是否安装成功,正确会出现版本号

复制代码
npm -v

2、npm 配置阿里云镜像源

arduino 复制代码
npm config set registry https://registry.npmmirror.com

3、查看npm 配置信息

arduino 复制代码
npm config list

获取配置源信息

arduino 复制代码
npm config get registry

4、npm 安装jquery

ini 复制代码
npm install jquery --location=global

5、npm 配置代理

arduino 复制代码
npm config set proxy http://proxy-server-address:port
npm config set https-proxy http://proxy-server-address:port

若是代理须要认证的话能够这样来设置。

arduino 复制代码
npm config set proxy http://username:password@proxy-server-address:port
npm config set https-proxy http://username:password@proxy-server-address:port

如果你的代理服务器不支持HTTPS,你还需要修改npm的默认源。运行以下命令:

arduino 复制代码
npm config set registry http://registry.npmjs.org/ 

6、npm 登录

复制代码
npm login

登录成功后,可以验证用户身份

bash 复制代码
npm who m i

7、npm 缓存用户登录信息

一旦登录成功,npm会将你的登录信息缓存到本地。这意味着在下一次使用npm时,它将自动使用你的登录凭据,而无需再次输入。

请注意,缓存的登录信息将在你退出终端或命令提示符窗口后失效。如果你需要清除缓存的登录信息,可以使用以下命令:

bash 复制代码
npm logout

8、最常用命令清除npm本地缓存

复制代码
npm cache clean

9 、卸载模块

复制代码
npm uninstall express

二、搭建npm 私服

1、准备数据

bash 复制代码
mkdir /lvmData/verdaccio  
cd /lvmData/verdaccio  
mkdir conf && mkdir storage && mkdir plugins  
cd conf  
touch htpasswd
vim config.yaml

2、配置 config.yaml

yaml 复制代码
Bash  
# 存放软件所有软件包的目录  
storage: ../storage  
# 存放所有插件的目录  
plugins: ../plugins  
  
web:  
  # 网站Title  
  title: Verdaccio  
  # 禁用Gravatar头像  
  # gravatar: false  
  # 排序方式 asc|desc  
  # sort_packages: asc  
  # 是否启用暗黑模式  
  # darkMode: true  
  # logo地址  
  # logo: http://somedomain/somelogo.png  
  # favicon地址  
  # favicon: http://somedomain/favicon.ico | /path/favicon.ico  
  
# i18n翻译配置  
# i18n:  
# 可用列表见:https://github.com/verdaccio/ui/tree/master/i18n/translations  
#   web: en-US  
  
auth:  
  htpasswd:  
    file: ./htpasswd  
    # 最大注册用户数,默认为 "+inf".  
    # 可用通过设置为-1禁止注册  
    # max_users: 1000  
  
# 上游npm库,这里可用设置为淘宝  
uplinks:  
  npmjs:  
    url: https://registry.npmmirror.com/  
  tencent:  
    url: https://mirrors.cloud.tencent.com/npm/  
  npmMirror:  
    url: https://skimdb.npmjs.com/registry/  
  taobao:  
    url: https://registry.npm.taobao.org  
  
packages:  
  # 作用域包  
  '@*/*':  
    # 允许所有人访问  
    access: $all  
    # 注册用户可访问  
    publish: $authenticated  
    # 注册用户可访问  
    unpublish: $authenticated  
    #proxy: tencent taobao npmjs npmMirror  
    proxy: tencent taobao npmjs npmMirror  
  
  '**':  
    # 默认情况下所有用户 (包括未授权用户) 都可以查看和发布任意包  
    # 你可以指定 用户名/分组名 (取决于你使用什么授权插件,默认的授权插件是内置的 htpasswd)  
    # 访问权限有三个关键词: "$all", "$anonymous", "$authenticated"  
    # $all 表示不限制,任何人可访问;  
    # $anonymous 表示未注册用户可访问;  
    # $authenticated 表示只有注册用户可访问  
    access: $all  
  
    # 允许所有注册用户发布/撤销已发布的软件包  
    # (注意:默认情况下任何人都可以注册)  
    publish: $authenticated  
    unpublish: $authenticated  
  
    # 如果私有包服务不可用在本地,则会代理请求到'npmjs'  
    #proxy: tencent taobao npmjs npmMirror  
    proxy: tencent taobao npmjs npmMirror  
  
# 您可以指定传入连接的HTTP /1.1服务器保持活动超时(以秒为单位)。  
# 值为0会使http服务器的行为类似于8.0.0之前的Node.js版本,后者没有保持活动超时。  
# 解决方法:通过给定的配置可以解决以下问题  
server:  
  keepAliveTimeout: 60  
  
publish:  
  allow_offline: true  
  
# 中间件  
middlewares:  
  audit:  
    enabled: true  
  
# 日志设置  
logs: { type: stdout, format: pretty, level: http }  
  
# 开放远程访问,允许所有IP  
listen:  
  - 0.0.0.0:4873

3、启动

bash 复制代码
V_PATH=/work/verdaccio; docker run -d -it --name verdaccio \  
  -p 4873:4873 \  
  -v $V_PATH/conf:/verdaccio/conf \  
  -v $V_PATH/storage:/verdaccio/storage \  
  -v $V_PATH/plugins:/verdaccio/plugins \  
  verdaccio/verdaccio

4、授予权限

bash 复制代码
chown root:root/work/verdaccio/conf/htpasswd  
chown root:root /work/verdaccio/storage  
chown root:root  /work/verdaccio/plugins

chmod -R 777  /work/verdaccio

5、注册用户

arduino 复制代码
npm adduser sqlark http://192.168.161.239:4873/

6、登录

arduino 复制代码
npm login --registry  http://192.168.161.239:4873/

7、包发布

发布的话就直接在某个需要发布包的项目的根目录下运行:

复制代码
npm publish

然后在我们私服界面上就能看到发布的包

三、npm 源管理

这里我们为了操作方便,通过nrm来切换源

css 复制代码
npm i -g nrm

然后,使用nrm添加一个源

csharp 复制代码
nrm add sqlark http://192.168.161.239:4873/

然后使用命令 nrm ls 查看所有存在的源:

bash 复制代码
nrm ls
相关推荐
wordbaby4 分钟前
TanStack Router 基于文件的路由
前端
wordbaby9 分钟前
TanStack Router 路由概念
前端
wordbaby11 分钟前
TanStack Router 路由匹配
前端
cc蒲公英12 分钟前
vue nextTick和setTimeout区别
前端·javascript·vue.js
程序员刘禹锡17 分钟前
Html中常用的块标签!!!12.16日
前端·html
我血条子呢27 分钟前
【CSS】类似渐变色弯曲border
前端·css
DanyHope28 分钟前
LeetCode 两数之和:从 O (n²) 到 O (n),空间换时间的经典实践
前端·javascript·算法·leetcode·职场和发展
hgz071029 分钟前
企业级多项目部署与Tomcat运维实战
前端·firefox
用户18878710698429 分钟前
基于vant3的搜索选择组件
前端
zhoumeina9929 分钟前
懒加载图片
前端·javascript·vue.js