為了方便團隊內部成員代碼的共用图筹,不寫重復而有無意義的代碼篇裁,打算搭建團隊內部私有的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去排查錯誤馅而,筆者就遇到了兩個問題
- install依賴與node-gyp,原本服務器的node-gyp版本為0.10进胯,過低導致編譯出錯用爪,重新安裝之后便可以解決。
- g++ commnd is not found 胁镐,本地沒有g++環(huán)境偎血,也是安裝以下就好诸衔。
此時cnpm就安裝好了,但是遠還沒部署完成颇玷。
DB
cnpm需要DB支持笨农,并且兼容"mysql"、"sqlite"帖渠、"postgres"谒亦、"mariadb"四種數(shù)據(jù)庫。
自行搜索安裝DB空郊。
Config
完成部署之前要先修改配置文件份招,新建一個config/config.js文件,參照config/index.js里的內容對比著來狞甚,看著comments應該沒什么問題锁摔,需要什么就在config.js內覆蓋。
config/index.js的bind: 127.0.0.1需要注釋掉才能被外網(wǎng)訪問到哼审,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的部署已經(jīng)完美結束了春霍。