会编程的羽流云
私有npm安装
私有npm安装(verdaccio管理)
环境
centos7.3
机器ip:192.168.1.103
查询node是否安装
node -v
npm -v
未安装
检测c++环境
gcc –v
g++ -v
未安装c++环境
yum install gcc
yum install gcc-c++
安装node
cd /opt/software
wget http://nodejs.org/dist/v8.7.0/node-v8.7.0-linux-x64.tar.gz
tar -zxvf node-v8.7.0-linux-x64.tar.gz
vim /etc/profile
文件末尾追加
node
export NODE_HOME=/opt/software/node-v8.7.0-linux-x64
export PATH=$PATH:$NODE_HOME/bin
加载配置文件
source /etc/profile
将目录软链接到全局环境下(命令后面的/usr/local/bin/node是固定的)
ln -s /opt/software/node-v8.7.0-linux-x64/bin/node /usr/local/bin/node
ln -s /opt/software/node-v8.7.0-linux-x64/bin/npm /usr/local/bin/npm
再次测试node -v以及npm -v
安装verdaccio进行npm仓库管理
安装verdaccio
npm install -g verdaccio --unsafe-perm
运行程序
verdaccio
运行成功后 ctrl c
结束(目的是第一次运行创建一个默认的配置文件,文件位置在运行过程中体现)
安装pm2托管verdaccio
npm install -g pm2 --unsafe-perm
编辑verdaccio的配置文件
vim /root/.config/verdaccio/config.yaml
在文件末尾追加
\# 监听的端口 ,重点, 不配置这个,只能本机能访问
listen: 0.0.0.0:4849
附带配置文件相关解释
\# 存储NPM包的路径
storage: /Users/luckytien/.local/share/verdaccio/storage
auth:
htpasswd:\#保存用户账户、密码等信息文件 file: ./htpasswd \# 允许注册的最大用户数, 默认是无限制 \# 如果是-1, 禁止注册 \#max_users: 1000
\# 我们可以访问已知的其他存储库列表,用于请求资源不存在,根据此处配置地址请求其他服务器
uplinks:
npmjs:url: https://registry.npmjs.org/ //默认为npm官网,可以在此修改成其他源地址
\# 配置权限管理
packages:
\'@*/*\':\# 范围包 access: \$all // 用户对匹配的项目进行安装 publish: \$authenticated // 用户对匹配的项目进行发布
\'*\':
\# 允许所有用户(包括没有验证的用户)读取和发布所有包 \# 可以指定用户名/组名(取决于你的插件) \# 3个关键字: "\$all", "\$anonymous", "\$authenticated" \# \$all表示所有人
\# $anonymous表示匿名者
\# $authenticated表示只通过验证的人可以执行对应操作access: \$all \# 允许所有已知用户发布包(默认任何人都可以注册) publish: \$authenticated \# 如果本地没有可用的私有包,代理会请求'npmjs'仓库 proxy: npmjs
\# 日志设置
logs:
- {type: stdout, format: pretty, level: http}
\#- {type: file, path: verdaccio.log, level: info}
用pm2启动verdaccio
pm2 start verdaccio
使用
添加用户
执行npm adduser --registry http://192.168.1.103:4849
依次输入用户名、密码、邮箱即可添加新用户
登录
命令行执行npm login --registry=http://192.168.1.103:4849
输入用户名密码邮箱进行登录
上传库在项目根目录创建README文件其中填写好改库的相关描述
在项目根目录执行npm init
生产package.json(期间填写相关描述信息)
执行完成后进行登录
登陆后在项目根目录执行npm publish --registry=http:// 192.168.1.103:4849
上传库
安装库
在新项目中生成package.json后在项目中执行npm install {模块名} --registry=http:// 192.168.1.103:4849