前言
在前端开发中,有时候多个项目会公用一个未发布到 NPM 上的组件,通过共享目录共享不是一个好的方法。为了解决这个问题搭建一个 NPM 私有仓库
虚拟环境准备
- 使用
vagrant
安装centos/7
$ mkdir npm_server
$ cd npm_server
$ vagrant init centos/7 # 初始化 Vagrant �环境
$ vagrant box add centos/7 # 添加官方虚拟机
$ vagrant up # 启动虚拟机
本阶段可以忽略不计,你只需要一个
Linux
环境即可。如果使用vagrant
作为虚拟机管理工具,请参考 vagrant 官网。虚拟机用户名密码都是vagrant
配置 node 环境
使用 nvm 安装和管理 node 的版本
- 安装 nvm
$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.6/install.sh | bash
- 执行环境变量
$ source ~/.bashrc
- 安装 node
nvm install 8.9.1
安装 mysql
-
安装命令
yum -y install mariadb mariadb-server
-
启动 mariadb
systemctl start mariadb
-
设置开机启动
systemctl enable mariadb
-
接下来进行MariaDB的相关简单配置
mysql_secure_installation
-
首先是设置密码,会提示先输入密码
Enter current password for root (enter for none):<–初次运行直接回车
-
设置密码
Set root password? [Y/n] <– 是否设置root用户密码,输入y并回车或直接回车 New password: <– 设置root用户的密码 Re-enter new password: <– 再输入一次你设置的密码
-
其他配置
Remove anonymous users? [Y/n] <– 是否删除匿名用户,回车 Disallow root login remotely? [Y/n] <–是否禁止root远程登录,回车, Remove test database and access to it? [Y/n] <– 是否删除test数据库,回车 Reload privilege tables now? [Y/n] <– 是否重新加载权限表,回车
-
创建数据库
create database npm charset utf8; sourcd $cnpm.org/docs/db.sql
安装 cnpm.org
-
下载代码
$ git clone https://github.com/cnpm/cnpmjs.org.git $ cd cnpm.org $ npm install
配置 cnpmjs
你可以在
$cnpmjs.org/config
目录下面新建一个config.js
,也可以编辑index.js
,因为index.js
会检测同级目录下面是否有config.js
,如果存在则合并。然后修改下面的配置参数。
registryPort: 7001, # 包下载和发布的端口
webPort: 7002, # web 页面端口
bindingHost: '192.168.1.2', # 本机IP,192.168.1.2,��
admins:{ # 添加管理员
admin:'admin@admin.com'
},
database: { # 数据库配置
db: 'npm',
username: 'root',
password: '000000',
},
registryHost: '192.168.1.2:7001', # npm install 包的地址
enablePrivate: true, # 是否允许私有模式
scopes: [ '@du' ], # 包的作用域