NPM局域网搭建

基础环境搭建

Erlang安装

  • 获取Erlang安装包
  1. sudo wget http://www.rabbitmq.com/releases/erlang/erlang-18.3-1.el6.x86_64.rpm
  • Centos rpm一键安装

这里采用rpm一键安装,centos 执行命令 rpm -ivh erlang-18.3-1.el6.x86_64.rpm,在ubuntu中不支持此命令rpm,使用rpm提示如下信息:

  1. rpm: RPM should not be used directly install RPM packages, use Alien instead!
  2. rpm: However assuming you know what you are doing...
  3. error: Failed dependencies:
  • ubuntu系统rpm一键安装解决方案

    1. 安装alien,执行命令sudo apt-get install alien
    2. 转换rpm包为.deb格式,执行命令sudo alien package.rpm其中package.rpm为你的包名
    3. 通过dpkg安装,sudo dpkg -i package.deb
  • 检查是否安装成功```$ erlErlang/OTP 18 [erts-7.3] [source] [64-bit] [async-threads:10] [hipe] [kernel-poll:false]

Eshell V7.3 (abort with ^G)1>

  1. #### **CouchDB安装**
  2. 执行以下命令将在您的服务器上安装CouchDBFuton

mkdir /datacd /datasudo wget http://mirrors.tuna.tsinghua.edu.cn/apache/couchdb/source/2.3.1/apache-couchdb-2.3.1.tar.gz$ sudo tar xfv apache-couchdb-2.3.1.tar.gz$ sudo apache-couchdb-2.3.1$ sudo ./configure

$ sudo apt-get install couchdb -y

  1. CouchDB默认端口为5984,运行以下命令检索安装信息

$ curl localhost:5984{“couchdb”:”Welcome”,”uuid”:”8d11c599b6487b117e21b8d7b5f79bed”,”version”:”1.6.0”,”vendor”:{“version”:”15.10”,”name”:”Ubuntu”}}

  1. ####

$ wget http://mirrors.tuna.tsinghua.edu.cn/apache/couchdb/source/2.3.1/apache-couchdb-2.3.1.tar.gz

  1. #### **访问Futon**
  2. > ```Futon``````CouchDB```提供的一个```WebUI```界面,为了更安全的链接到```CouchDB```,可以从本地访问,创建一个本地到服务的```SSH```链接隧道。
  3. 如下所示:建立```本地端口5984```到远程```服务器端口5984```的链接隧道。
  4. ```shell
  5. ssh -L5984:127.0.0.1:5984 qufei3@192.168.6.130

建立链接隧道之后浏览器输入URL:http://localhost:5984/_utils/访问,结果如下所示:

NPM局域网搭建 - 图1

CouchDB的更多安装姿势可参考官网

搭建NPM仓库

在搭建NPM仓库之前确保CouchDB数据库安装成功且运行中。

  1. 创建数据库

用于保存模块和文件信息。

  1. curl -X PUT http://localhost:5984/registry
  2. {"ok":true}
  1. 设置用于名密码
  1. $ curl -X PUT http://localhost:5984/_config/admins/admin -d '"123456"'
  1. 克隆NPM远程仓库地址到本地
  1. $ git clone git://github.com/npm/npm-registry-couchapp
  2. $ cd npm-registry-couchapp
  3. $ npm install
  4. $ npm start \
  5. --npm-registry-couchapp:couch=http://localhost:5984/registry
  6. npm start \
  7. --npm-registry-couchapp:couch=http://admin:123456@localhost:5984/registry
  8. $ npm run load \
  9. --npm-registry-couchapp:couch=http://localhost:5984/registry
  10. $ npm run copy \
  11. --npm-registry-couchapp:couch=http://localhost:5984/registry
  1. 客户端设置NPM镜像
  1. $ npm config set \
  2. registry=http://localhost:5984/registry/_design/app/_rewrite