pnpm介紹,安裝以及使用

什么是pnpm?

pnpm是 Node.js 的替代包管理器。它是 npm 的直接替代品,但速度更快、效率更高。

為什么效率更高?

  • 當(dāng)您安裝軟件包時(shí),我們會(huì)將其保存在您機(jī)器上的全局存儲(chǔ)中,然后我們會(huì)從中創(chuàng)建一個(gè)硬鏈接,而不是進(jìn)行復(fù)制。對(duì)于模塊的每個(gè)版本,磁盤上只保留一個(gè)副本。例如,當(dāng)使用npmyarn時(shí),如果您有 100 個(gè)使用lodash的包,則磁盤上將有 100 個(gè)lodash副本。

  • pnpm 可讓您節(jié)省數(shù) GB 的磁盤空間!

pnpm優(yōu)勢(shì)

pnpm 擁有Yarn 超過 npm 的所有附加功能:

  • 安全:yarn 一樣,pnpm 有一個(gè)包含所有已安裝包校驗(yàn)和的特殊文件,用于在執(zhí)行代碼之前驗(yàn)證每個(gè)已安裝包的完整性。
  • 離線模式: pnpm 將所有下載的包 tarball 保存在本地注冊(cè)表鏡像中。當(dāng)包在本地可用時(shí),它從不發(fā)出請(qǐng)求。使用該--offline參數(shù)可以完全禁止HTTP請(qǐng)求。
  • 速度: pnpm 不僅比 npm 快,而且比yarn 快。無論是冷緩存還是熱緩存,它都比yarn 快。yarn 從緩存中復(fù)制文件,而 pnpm 只是從全局存儲(chǔ)中鏈接它們。

與 npm 的差別

  • npm 不同的是,pnpm 會(huì)校驗(yàn)所有的參數(shù)。 比如,pnpm install --foo 會(huì)執(zhí)行失敗,因?yàn)?--foo 不是 pnpm install的有效參數(shù)。

但是,某些依賴關(guān)系可能使用 npm_config_ 環(huán)境變量,其中 從 CLI 選項(xiàng)中填充。 在這種情況下,你有以下選擇:

  • 設(shè)置明確的環(huán)境變量:npm_config_foo=true pnpm install
  • --config.強(qiáng)制使用未知選項(xiàng): pnpm install --config.foo

pnpm使用

官網(wǎng): https://pnpm.js.org/installation/

全局安裝

npm install pnpm -g

設(shè)置源:

// 查看源
pnpm config get registry
// 切換淘寶源
pnpm config set registry https://registry.npmmirror.com/

使用:

pnpm install 包名稱
pnpm i 包名稱
pnpm add 包名稱    // -S  默認(rèn)寫入dependencies
pnpm add -D    // -D devDependencies
pnpm add -g    // 全局安裝

移除:

pnpm remove 包名稱  // 移除包
pnpm remove 包名稱 --global  // 移除全局包

設(shè)置存儲(chǔ)路徑:

pnpm config set store-dir /path/to/.pnpm-store

個(gè)人使用

一些需要node-gyp的包一定要記得安裝好
在系統(tǒng)上禁止使用腳本解決方法

# 以管理員身份運(yùn)行power shell
set-executionpolicy remotesigned
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 什么是pnpm pnpm是 Node.js 的替代包管理器。它是 npm 的直接替代品,但速度更快、效率更高。 為...
    CodeMT閱讀 8,245評(píng)論 0 1
  • 什么是PNPM? Fast, disk space efficient package manager 本質(zhì)上他是...
    涅槃快樂是金閱讀 33,553評(píng)論 0 14
  • 管理器 npm,太慢了,總會(huì)有莫名的bug,需要?jiǎng)h除 node_modules,在次安裝以后才能解決。 cnpm,...
    littleyu閱讀 1,555評(píng)論 0 0
  • 1.npm是Node官方提供的包管理工具,他已經(jīng)成了Node包的標(biāo)準(zhǔn)發(fā)布平臺(tái),用于Node包的發(fā)布、傳播、依賴控制...
    shuo_fd6c閱讀 2,854評(píng)論 0 0
  • 一、yarn的簡(jiǎn)介: Yarn是facebook發(fā)布的一款取代npm的包管理工具。 二、yarn的特點(diǎn): 1.速...
    二十三Smile閱讀 33,620評(píng)論 0 3

友情鏈接更多精彩內(nèi)容