使用sinopia搭建自己的npm服務

隨着代碼的積累,感覺有必要自己搭建一個npm服務,對自己的代碼庫進行管理。

爲什麼選sinopia,之前有 仁兄使用Kappa 搭建私有npm私有庫,看上去比較麻煩,還需要依賴CouchDB數據庫。參考 https://segmentfault.com/a/1190000000491162

我去強大的github上搜索了一下,發現了sinopia,純nodejs解決方案,不需要什麼依賴的軟件包。果然是簡單有效的辦法,於是根據教程嘗試了一下,基本沒遇到什麼坎就弄好了。

github地址:https://github.com/rlidwka/sinopia

首先安裝sinopia

$ npm install -g sinopia

啓動sinopia

$ sinopia

默認啓動端口4873,通過http://localhost:4873/可以瀏覽你上傳的包

在npm中使用新的服務,在通過npm安裝依賴包的時候服務器會優先使用服務上已經上傳的包,如果找不到會使用公共的npm registry,省去的來回切換的麻煩。

$npm set registry http://localhost:4873/


但這樣只能通過本機進行訪問,如何通過遠程可以訪問你的npm服務器呢?

看一下sinopia命令幫助

$ sinopia -h

 

通過-l可以指定主機和端口

重新啓動一下:

$ sinopia -l 100.100.100.100:8000

ip爲舉例,可以是你的主機的對外ip,這樣就可以通過ip來訪問你的npm服務器了


另外推薦一下管理registry的工具nrm

$ npm install -g nrm
$ nrm add mynpm http://100.100.100.100:8000
$ nrm use mynpm

列出所有的本地registry

$ nrm ls

切換回公共的registry

$ nrm use npm


完成了服務器的搭建,我們就可以發佈自己的nodejs庫到服務器上了。

首先要創建一個用戶

$ npm adduser --registry http://100.100.100.100:8000

輸入用戶名,密碼,郵箱用戶創建完畢。

然後進入你要上傳的代碼目錄,執行初始化。

$ npm init

這個過程中要輸入項目名,版本號,作者,開源協議等信息,自動生成package.json文件。

初始化完成了執行發佈命令

$ npm publish

看到發佈成功的提示,ok,第一個包就這樣發佈成功了!

瀏覽器訪問http://100.100.100.100:8000可以看到我們剛剛發佈的包了,通過readme.md可添加包的使用說明和用例代碼。

接下來我們團隊會把自己之前積累的一些代碼逐步整理並形成npm包,放在npm服務器上並考慮開源。


牧客網絡工作室--專注互聯網技術,信奉工匠精神

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章