如何釋出帶命名的npm包呢? 經常有看到@xxx/yyy
型別的開源npm包,嘗試修改package.json
的name屬性為@xxx/yyy
,npm卻提示釋出報錯,有點懵!原因是你不是收費使用者,來,按以下步驟走一遍.
一 註冊npm賬號
去npm上註冊自己的賬號,這個有很多介紹,不贅述。
二 成為收費使用者
哈哈,7美刀/mon,成為使用者後你就可以釋出@xxx/yyy
這樣的庫了,好處是npm包管理可以更加合理,也不會再npmjs.com上生產垃圾程式碼.。建議有很多開源庫的同學成為收費使用者^_^.
- 高階使用者 再交7美刀/mon
- 普通使用者 預設
npm scope初始化新包
比如你有一個npm包 yyy
,在成為收費使用者後
-
登入npmjs.com
去到使用者頁面,新增一個組織(Organizations)名為xxx
,所有選項按預設 -
npm scope初始化目錄
很簡單,為npm init
命令新增一個引數,--scope=xxx
$ mkdir @yyy
$ cd @yyy
$ npm init --scope=xxx
# 使用`npm scope`初始化,`xxx`為剛剛在npmjs.com上新建的組織名
複製程式碼
- 轉移原始檔
將原來專案yyy的原始碼轉移至@yyy
目錄下,修改`package.json'的nam屬性
"name": "@xxx/yyy",
"version": "4.0.36",
"description": "react凹凸庫",
"main": "./build/index.js",
"license": "MIT",
"repository": {
"type": "git",
"url": "git+https://github.com/webkixi/aotoo.git"
},
...
...
複製程式碼
- 釋出
預設使用npm publish
釋出會報錯,雖然你是收費使用者,但不是高階的,不能釋出private scope npm包,只能釋出public scope npm包,需要帶上access
引數來發布
$ cd $yyy
$ npm publish --access=public
複製程式碼
到這裡應該你已經可以釋出@xxx型別的npm包了,更多的用法和使用需要自己折騰了