npm如何釋出scope庫,@xxx/yyy

天天修改發表於2018-08-23

如何釋出帶命名的npm包呢? 經常有看到@xxx/yyy型別的開源npm包,嘗試修改package.json的name屬性為@xxx/yyy,npm卻提示釋出報錯,有點懵!原因是你不是收費使用者,來,按以下步驟走一遍.

一 註冊npm賬號

去npm上註冊自己的賬號,這個有很多介紹,不贅述。

二 成為收費使用者

哈哈,7美刀/mon,成為使用者後你就可以釋出@xxx/yyy這樣的庫了,好處是npm包管理可以更加合理,也不會再npmjs.com上生產垃圾程式碼.。建議有很多開源庫的同學成為收費使用者^_^.

  1. 高階使用者 再交7美刀/mon
  2. 普通使用者 預設

npm scope初始化新包

比如你有一個npm包 yyy,在成為收費使用者後

  1. 登入npmjs.com
    去到使用者頁面,新增一個組織(Organizations)名為xxx,所有選項按預設

  2. npm scope初始化目錄
    很簡單,為npm init命令新增一個引數, --scope=xxx

$ mkdir @yyy
$ cd @yyy
$ npm init --scope=xxx
# 使用`npm scope`初始化,`xxx`為剛剛在npmjs.com上新建的組織名
複製程式碼
  1. 轉移原始檔
    將原來專案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"
},
...
...
複製程式碼
  1. 釋出
    預設使用npm publish釋出會報錯,雖然你是收費使用者,但不是高階的,不能釋出private scope npm包,只能釋出public scope npm包,需要帶上access引數來發布
$ cd $yyy
$ npm publish --access=public
複製程式碼

到這裡應該你已經可以釋出@xxx型別的npm包了,更多的用法和使用需要自己折騰了

相關文章