1. 程式人生 > >cnpm私有倉庫踩坑之旅

cnpm私有倉庫踩坑之旅

為了方便團隊內部成員程式碼的共用,不寫重複而有無意義的程式碼,打算搭建團隊內部私有的cnpm倉庫。

Start

從cnpm.org clone 整個專案。

git clone https://github.com/cnpm/cnpmjs.org.git

Install

clone之後,我們執行以下命令install

npm install --build-from-source --registry=https://registry.npm.taobao.org --disturl=https://npm.taobao.org/mirrors/node

在install過程中或許會遇到些問題,最好按照終端提示的err去排查錯誤,筆者就遇到了兩個問題
1. install依賴與node-gyp,原本伺服器的node-gyp版本為0.10,過低導致編譯出錯,重新安裝之後便可以解決。
2. g++ commnd is not found ,本地沒有g++環境,也是安裝以下就好。

此時cnpm就安裝好了,但是遠還沒部署完成。

DB

cnpm需要DB支援,並且相容”mysql”、”sqlite”、”postgres”、”mariadb”四種資料庫。

自行搜尋安裝DB。

Config

完成部署之前要先修改配置檔案,新建一個config/config.js檔案,參照config/index.js裡的內容對比著來,看著comments應該沒什麼問題,需要什麼就在config.js內覆蓋。
config/index.js的bind: 127.0.0.1需要註釋掉才能被外網訪問到,comments裡面都寫的很清楚,這裡和大家提個醒。

OpsDev

最簡單的部署方法,使用pm2模組。

npm i pm2 -g

全域性安裝pm2

pm2 start dispatch.js

Test

cnpm文件訪問地址 127.0.0.1:7002
cnpm映象源地址 127.0.0.1:7001
可以在命令列 ping或者curl測試
如果兩個埠都能正常訪問,怎麼cnpm的部署已經完美結束了。