一、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