npm 模組釋出到 npm
2020年3月16日,GitHub 收購 npm,大概內容如下:
Nat Friedman 宣佈 GitHub 已簽署收購 npm 的協議,並表示 npm 加入 GitHub 後會繼續免費提供 public registry 服務。交易完成後,GitHub 的工作重點包括:未來會將 npm 整合至 GitHub 以提升開源軟體供應鏈的安全性,並讓使用者能夠跟蹤從 GitHub PR 到修復問題的 npm 軟體包版本的更改。
情況不妙
本來是件好事,但我最近寫了個新模組,npm publish 的時候發現居然是發到了 GitHub 的 Packages 下。
雖然也沒啥問題,只是我們安裝的時候會從 GitHub 安裝,慢一點而已,我安裝了下,大概10秒可以安裝好,問題不大。
然後我讓我同事試了下,他卻死活安裝不上,還顯示 404
這就蛋疼了,為什麼我可以安裝,他那卻不行呢。
我也不想去研究 npm,就想先發到 npm 上,因為國情問題,我們都用淘寶映象,所以目前穩妥的方法就是發到 npm 上。
谷歌了下,沒找到答案,突然想起了個模組 np,這是個規範化模組釋出流程的工具,我試了下,成功發到 npm 上了。
但我不想每次都這麼操作一遍,就想一鍵發到 npm,於是簡單跟蹤除錯了下 npm 釋出過程。
簡單描述下就是 npm 預設配置是 registry: 'https://registry.npmjs.org',然後會讀取 package.json 中的 publishConfig 配置,如果沒有就替換為 GitHub 的 registry 地址。
那麼事情就簡單了。
新增發布配置
在 package.json 中加入如下配置
[XML] 純文字檢視 複製程式碼"publishConfig": { "registry": "https://registry.npmjs.org", "access": "public" },
如果你是釋出到組織的,那麼使用如下配置
[XML] 純文字檢視 複製程式碼"publishConfig": { "@52cik:registry": "https://registry.npmjs.org", "access": "public" },
其中 @52cik 是我的組織,例如 vue 組織就是 @vue,自行更改即可。
access 是釋出為公共模組,因為 npm 之前改版,所以需要加個公共模組配置。
接著 npm publish 即可,然後安裝模組試試,看看有沒有走淘寶映象,如果沒有,等淘寶10分鐘同步一次後再試。
小結
這只是暫時解決方案,以後技術發展什麼樣還不確定,所以請根據自己的時間,合理使用即可。
我們前都依賴淘寶映象,所以釋出到 npm 上才是目前最優解,如果以後 GitHub 速度跟淘寶映象一樣了,那還折騰啥,對不?
相關文章
- 怎樣把自己的模組釋出到npmNPM
- 利用yarn檔案釋出到 npm 倉庫YarnNPM
- 釋出node模組到npmNPM
- 實現一個vue元件庫釋出到npmVue元件NPM
- 如何釋出自己的NPM包(模組)?NPM
- NPM包(模組)釋出、更新、撤銷釋出NPM
- npm qs 模組(中文)NPM
- 從零使用TypeScript開發專案打包釋出到npm上TypeScriptNPM
- 如何釋出你自己的React模組至NPMReactNPM
- java中呼叫npm模組JavaNPM
- npm 釋出外掛NPM
- 企業私有npm部署和實現npm釋出NPM
- 釋出一款npm包幫助理解npmNPM
- npm命令及解釋NPM
- 釋出npm包流程NPM
- NPM測試模組之rewire教程NPM
- 在Chrome控制檯注入npm模組ChromeNPM
- 嘗試手寫一個 nodejs http-server(含釋出到npm的流程)NodeJSHTTPServerNPM
- npm包釋出記錄NPM
- 初試npm包釋出NPM
- 通過git安裝npm私有模組GitNPM
- 國內npm源映象(npm加速下載) 指定npm映象NPM
- 如何釋出一個 npm 包NPM
- 釋出/撤銷NPM私有包NPM
- 如果釋出和使用npm包NPM
- 開發釋出npm module包NPM
- 從模組化到NPM私有倉庫搭建NPM
- 每天閱讀一個 npm 模組(1)- usernameNPM
- 每天閱讀一個 npm 模組(2)- memNPM
- 每天閱讀一個 npm 模組(6)- pifyNPM
- # 每天閱讀一個 npm 模組(7)- delegatesNPM
- npm ERR! code EINTEGRITY npm! ERR! shal-NPM
- 利用github Actions釋出npm和releaseGithubNPM
- 輕鬆釋出 react 元件到 npmReact元件NPM
- ?vue元件釋出npm最佳實踐Vue元件NPM
- NPM語義版本號解釋:~和^NPM
- npm 安裝 bin/npm: line 1: ../lib/node_modules/npm/bin/npm-cli.js: No such file or directoryNPMJS
- 工具 - NpmNPM