npm 包管理器 npm

2021-10-29 10:49 更新

javascript 包管理器

概要

npm <command> [args]

版本

7.0.0

描述

npm 是 Node JavaScript 平臺(tái)的包管理器。它將模塊放在適當(dāng)?shù)奈恢?,以便?jié)點(diǎn)可以找到它們,并智能地管理依賴沖突。

它非常可配置以支持各種用例。最常見的是,它用于發(fā)布、發(fā)現(xiàn)、安裝和開發(fā)節(jié)點(diǎn)程序。 運(yùn)行npm help以獲取可用命令的列表。

重要的

默認(rèn)情況下,npm 配置為使用 npm, Inc. 在https://registry.npmjs.org 上的公共注冊(cè)表?。npm 公共注冊(cè)表的使用受https://www.npmjs.com/policies/terms 上提供的使用條款的約束。

你可以將 npm 配置為使用您喜歡的任何兼容注冊(cè)表,甚至可以運(yùn)行你自己的注冊(cè)表。使用他人的注冊(cè)表可能受其使用條款的約束。

依賴

如果一個(gè)包通過 git URL 引用另一個(gè)包,npm 依賴于預(yù)安裝的 git。

如果 npm 嘗試安裝的包之一是本機(jī)節(jié)點(diǎn)模塊并且需要編譯 C++ 代碼,npm 將使用?node-gyp執(zhí)行該任務(wù)。對(duì)于 Unix 系統(tǒng),node-?gyp 需要 Python、make 和像 GCC 這樣的構(gòu)建鏈。在 Windows 上,需要 Python 和 Microsoft Visual Studio C++。node-gyp不支持 Python 3?。

目錄

請(qǐng)參閱npm-folders了解 npm 將東西放在哪里。

特別是,npm 有兩種操作模式:

  • 全局模式:npm 將包安裝到安裝前綴 at 中?prefix/lib/node_modules,bins 安裝在prefix/bin.
  • 本地模式:npm 將包安裝到當(dāng)前項(xiàng)目目錄中,默認(rèn)為當(dāng)前工作目錄。包安裝到?./node_modules,bin 安裝到./node_modules/.bin.

本地模式是默認(rèn)模式。使用-g--global在任何命令上改為在全局模式下運(yùn)行。

開發(fā)者使用

如果你使用 npm 開發(fā)和發(fā)布代碼,請(qǐng)查看以下幫助主題:

  • json:制作 package.json 文件。見package.json。
  • 鏈接:用于將你當(dāng)前的工作代碼鏈接到 Node 的路徑中,這樣你就不必每次進(jìn)行更改時(shí)都重新安裝。使用?npm link要做到這一點(diǎn)。
  • 安裝:如果你不需要符號(hào)鏈接,最好安裝一些東西。特別是,從注冊(cè)表安裝其他人的代碼是通過?npm install
  • adduser:創(chuàng)建帳戶或登錄。憑據(jù)存儲(chǔ)在用戶配置文件中。
  • 發(fā)布:使用該npm publish命令將您的代碼上傳到注冊(cè)表。

配置

npm 是極其可配置的。它從 5 個(gè)地方讀取其配置選項(xiàng)。

  • 命令行開關(guān):使用--key val.?所有鍵都有一個(gè)值,即使它們是布爾值(配置解析器在解析時(shí)不知道選項(xiàng)是什么)。如果未提供任何值,則該選項(xiàng)設(shè)置為 boolean?true
  • 環(huán)境變量:通過在環(huán)境變量中為名稱添加前綴來(lái)設(shè)置任何配置?npm_config_。例如,export npm_config_key=val。
  • 用戶配置:$HOME/.npmrc 中的文件是一個(gè) ini 格式的配置列表。如果存在,則對(duì)其進(jìn)行解析。如果userconfig在 cli 或 env 中設(shè)置了該選項(xiàng),則將使用該選項(xiàng)。
  • 全局配置:在 ../etc/npmrc 中找到的文件(來(lái)自節(jié)點(diǎn)可執(zhí)行文件,默認(rèn)情況下解析為 /usr/local/etc/npmrc)如果找到將被解析。如果globalconfig在 cli、env 或用戶配置中設(shè)置了該選項(xiàng),則會(huì)改為解析該文件。
  • 默認(rèn)值:npm 的默認(rèn)配置選項(xiàng)在 lib/utils/config-defs.js 中定義。這些不得更改。有關(guān)[npm-config](https://www.npmjs.cn/misc/config)更多信息,請(qǐng)參閱。
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)