npm 包管理器 npm

2021-10-29 10:49 更新

javascript 包管理器

概要

npm <command> [args]

版本

7.0.0

描述

npm 是 Node JavaScript 平臺的包管理器。它將模塊放在適當的位置,以便節(jié)點可以找到它們,并智能地管理依賴沖突。

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

重要的

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

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

依賴

如果一個包通過 git URL 引用另一個包,npm 依賴于預安裝的 git。

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

目錄

請參閱npm-folders了解 npm 將東西放在哪里。

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

  • 全局模式:npm 將包安裝到安裝前綴 at 中?prefix/lib/node_modules,bins 安裝在prefix/bin.
  • 本地模式:npm 將包安裝到當前項目目錄中,默認為當前工作目錄。包安裝到?./node_modules,bin 安裝到./node_modules/.bin.

本地模式是默認模式。使用-g--global在任何命令上改為在全局模式下運行。

開發(fā)者使用

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

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

配置

npm 是極其可配置的。它從 5 個地方讀取其配置選項。

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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號