npm 安裝包

2021-10-29 10:46 更新

安裝本地包

有兩種方式用來安裝 npm 包:本地安裝和全局安裝。至于選擇哪種方式來安裝,取決于我們?nèi)绾问褂眠@個(gè)包。

  • 如果你自己的模塊依賴于某個(gè)包,并通過 Node.js 的?require?加載,那么你應(yīng)該選擇本地安裝,這種方式也是?npm install?命令的默認(rèn)行為。
  • 如果你想將包作為一個(gè)命令行工具,(比如 grunt CLI),那么你應(yīng)該選擇全局安裝。

想要了解更多關(guān)于?install?命令行的行為,可以查看?CLI 文檔。

安裝包

安裝

可以使用下面的命令來安裝一個(gè)包:

> npm install <package_name>

上述命令執(zhí)行之后將會(huì)在當(dāng)前的目錄下創(chuàng)建一個(gè)?node_modules?的目錄(如果不存在的話),然后將下載的包保存到這個(gè)目錄下。

測試

為了確認(rèn)?npm install?是正常工作的,可以檢查?node_modules?目錄是否存在,并且里面是否含有你安裝的包的文件夾。

實(shí)例

安裝一個(gè)叫做?lodash?的包。安裝成功之后,如果?node_modules?目錄下存在一個(gè)名為?lodash?的文件夾,則說明成功安裝了這個(gè)包。

Microsoft Windows:

C:\ npm install lodash
C:\ dir node_modules


#=> lodash

macOS, Ubuntu, Debian

> npm install lodash
> ls node_modules


#=> lodash

哪個(gè)版本的包被安裝

在本地目錄中如果沒有?package.json?這個(gè)文件的話,那么最新版本的包會(huì)被安裝。

如果存在?package.json?文件,則會(huì)在?package.json?文件中查找針對這個(gè)包所約定的語義化版本規(guī)則,然后安裝符合此規(guī)則的最新版本。

使用已安裝的包

一旦將包安裝到?node_modules?目錄中,你就可以使用它了。比如在你所創(chuàng)建的 Node.js 模塊中,你可以?require?這個(gè)包。

實(shí)例

創(chuàng)建一個(gè)名為?index.js?的文件,并保存如下代碼:

//?index.js
var?lodash?=?require('lodash');


var?output?=?lodash.without([1,?2,?3],?1);
console.log(output);

運(yùn)行?node index.js?命令。應(yīng)當(dāng)輸出?[2, 3]。

如果你沒能正確安裝?lodash,你將會(huì)看到如下的錯(cuò)誤信息:

module.js:340
    throw err;
          ^
Error: Cannot find module 'lodash'

可以在?index.js?所在的目錄中運(yùn)行?npm install lodash?命令來修復(fù)這個(gè)問題。

安裝全局包

有兩種方式用來安裝 npm 包:本地安裝和全局安裝。選用哪種方式來安裝,取決于你如何使用這個(gè)包。

如果你想將其作為一個(gè)命令行工具,那么你應(yīng)該將其安裝到全局。這種安裝方式后可以讓你在任何目錄下使用這個(gè)包。比如 grunt 就應(yīng)該以這種方式安裝。

如果你想依賴你自己模塊中的包,請?jiān)诒镜匕惭b。例如,如果使用了 require 語句,你將使用此選項(xiàng)。

將包安裝到全局,你應(yīng)該使用?npm install -g <package>?命令,例如:

npm install -g jshint

如果你遇到 EACCES 錯(cuò)誤,請查看NPM 防止權(quán)限錯(cuò)誤。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號