GNU/Linux >> Linux の 問題 >  >> Linux

Npmを使用してNodeJSパッケージを管理する方法

少し前に、PIPを使用してPythonパッケージを管理するためのガイドを公開しました 。今日は、Npmを使用してNodeJSパッケージを管理する方法について説明します。 NPMは、600,000を超えるパッケージを含む最大のソフトウェアレジストリです。毎日、世界中の開発者がnpmを介してパッケージを共有およびダウンロードしています。このガイドでは、パッケージのインストール(ローカルおよびグローバル)、パッケージの特定のバージョンのインストール、NodeJSパッケージの更新、削除、管理など、npmの操作の基本について説明します。

NPMのインストール

npmはNodeJSで記述されているため、npmを使用するにはNodeJSをインストールする必要があります。さまざまなLinuxディストリビューションにNodeJSをインストールするには、次のリンクを参照してください。

  • LinuxにNodeJSをインストールする方法

インストールしたら、NodeJSとNPMが正しくインストールされていることを確認します。これを行うにはいくつかの方法があります。

ノードがインストールされている場所を確認するには、次のコマンドを実行します。

$ which node
/home/sk/.nvm/versions/node/v9.4.0/bin/node

バージョンを確認してください:

$ node -v
v9.4.0

ノードREPLセッションにログインします:

$ node
> .help
.break Sometimes you get stuck, this gets you out
.clear Alias for .break
.editor Enter editor mode
.exit Exit the repl
.help Print this help message
.load Load JS from a file into the REPL session
.save Save all evaluated commands in this REPL session to a file
> .exit

npmがインストールされている場所を確認します:

$ which npm
/home/sk/.nvm/versions/node/v9.4.0/bin/npm

そしてバージョン:

$ npm -v
5.6.0

素晴らしい! NodeとNPMがインストールされ、機能しています。お気づきかもしれませんが、モジュールをグローバルにインストールする際の権限の問題を回避するために、$HOMEディレクトリにNodeJSとNPMをインストールしました。これはNodeJSチームが推奨する方法です。

さて、npmを使用してNodeJSモジュール(またはパッケージ)を管理する方法を見てみましょう。

Npmを使用してNodeJSパッケージを管理する

NodeJSモジュールのインストール

NodeJSモジュールは、ローカルまたはグローバル(システム全体)にインストールできます。次に、パッケージをローカルにインストールする方法を示します。

パッケージをローカルにインストールする

パッケージをローカルで管理するには、通常、 package.jsonを使用します ファイル。

まず、プロジェクトディレクトリを作成しましょう。

$ mkdir demo
$ cd demo

プロジェクトのディレクトリ内にpackage.jsonファイルを作成します。これを行うには、次を実行します:

$ npm init

名前、バージョン、作成者、githubページなどのパッケージの詳細を入力するか、Enterキーを押してデフォルト値を受け入れ、 YESと入力します。 確認します。

This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sensible defaults.

See `npm help json` for definitive documentation on these fields
and exactly what they do.

Use `npm install <pkg>` afterwards to install a package and
save it as a dependency in the package.json file.

Press ^C at any time to quit.
package name: (demo) 
version: (1.0.0) 
description: demo nodejs app
entry point: (index.js) 
test command: 
git repository: 
keywords: 
author: 
license: (ISC) 
About to write to /home/sk/demo/package.json:

{
 "name": "demo",
 "version": "1.0.0",
 "description": "demo nodejs app",
 "main": "index.js",
 "scripts": {
 "test": "echo \"Error: no test specified\" && exit 1"
 },
 "author": "",
 "license": "ISC"
}

Is this ok? (yes) yes

上記のコマンドは、プロジェクトを初期化し、package.jsonファイルを作成します。

次のコマンドを使用して、これを非対話的に行うこともできます:

$ npm init --y

これにより、ユーザーの操作なしで、デフォルト値を使用してpackage.jsonファイルがすばやく作成されます。

次に、 commanderという名前のパッケージをインストールしましょう 。

$ npm install commander

サンプル出力:

npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN [email protected] No repository field.

+ [email protected]
added 1 package in 2.519s

これにより、 "node_modules"という名前のディレクトリが作成されます (まだ存在しない場合)プロジェクトのルートディレクトリに移動し、その中のパッケージをダウンロードします。

package.jsonファイルを確認しましょう。

$ cat package.json 
{
 "name": "demo",
 "version": "1.0.0",
 "description": "demo nodejs app",
 "main": "index.js",
 "scripts": {
 "test": "echo \"Error: no test specified\" && exit 1"
 },
 "author": "",
 "license": "ISC",
 "dependencies": {
 "commander": "^2.13.0"
 }
}

依存関係が追加されていることがわかります。カレット( ^ )バージョン番号の前にある記号は、インストール時に、npmが検出できるパッケージの最高バージョンをプルすることを示します。

$ ls node_modules/
commander

package.jsonファイルの利点は、プロジェクトのディレクトリにpackage.jsonファイルがある場合、「npm install」と入力するだけで、npmがファイルにリストされている依存関係を調べてすべてをダウンロードできることです。他の開発者と共有したり、GitHubリポジトリにプッシュしたりすることもできるので、開発者が「npm install」と入力すると、同じパッケージがすべて取得されます。

package-lock.jsonという名前の別のjsonファイルにも気付くかもしれません。 。このファイルにより、プロジェクトがインストールされているすべてのシステムで依存関係が同じに保たれます。

プログラムにインストールされているパッケージを使用するには、ファイル index.jsを作成します (または任意の名前)プロジェクトのディレクトリで実際のコードを入力し、次のコマンドを使用して実行します:

$ node index.js

パッケージをグローバルにインストールする

パッケージをコマンドラインツールとして使用する場合は、グローバルにインストールすることをお勧めします。このように、現在のディレクトリがどのディレクトリであっても機能します。

$ npm install async -g
+ [email protected]
added 2 packages in 4.695s

または、

$ npm install async --global

パッケージの特定のバージョンをインストールするには、次のようにします。

$ npm install [email protected] --global

NodeJSモジュールの更新

ローカルパッケージを更新するには、package.jsonが配置されているプロジェクトのディレクトリに移動して実行します。

$ npm update

次に、次のコマンドを実行して、すべてのパッケージが更新されたことを確認します。

$ npm outdated

更新がない場合は、何も返されません。

更新する必要のあるグローバルパッケージを見つけるには、次のコマンドを実行します。

$ npm outdated -g --depth=0

出力がない場合は、すべてのパッケージが更新されます。

単一のグローバルパッケージを更新するには、次のコマンドを実行します:

$ npm update -g <package-name>

すべてのグローバルパッケージを更新するには、次を実行します:

$ npm update -g <package>

NodeJSモジュールの一覧表示

ローカルパッケージを一覧表示するには、プロジェクトのディレクトリに移動して、次のコマンドを実行します。

$ npm list
[email protected] /home/sk/demo
└── [email protected]

ご覧のとおり、「commander」パッケージをローカルモードでインストールしました。

グローバルパッケージを一覧表示するには、次のコマンドを任意の場所から実行します。

$ npm list -g

サンプル出力:

/home/sk/.nvm/versions/node/v9.4.0/lib
├─┬ [email protected]
│ └── [email protected]
└─┬ [email protected]
 ├── [email protected]
 ├── [email protected]
 ├── [email protected]
 ├── [email protected]
 ├── [email protected]
 ├── [email protected]
[...]

このコマンドは、すべてのモジュールとその依存関係を一覧表示します。

トップレベルのモジュールのみを一覧表示するには、-depth =0を使用します オプション:

$ npm list -g --depth=0
/home/sk/.nvm/versions/node/v9.4.0/lib
├── [email protected]
└── [email protected]

NodeJSモジュールの検索

モジュールを検索するには、「npmsearch」コマンドを使用します:

npm search <search-string>

例:

$ npm search request

このコマンドは、検索文字列「request」を含むすべてのモジュールを表示します。

NodeJSモジュールの削除

ローカルパッケージを削除するには、プロジェクトのディレクトリに移動し、次のコマンドを実行して、 node_modulesからパッケージを削除します。 ディレクトリ:

$ npm uninstall <package-name>

package.jsonの依存関係から削除するには ファイルの場合は、保存を使用します 以下のようなフラグ:

$ npm uninstall --save <package-name>

グローバルにインストールされたパッケージを削除するには、次のコマンドを実行します:

$ npm uninstall -g <package>

NPMキャッシュのクリーニング

デフォルトでは、NPMは、インストール時に、インストールされたパッケージのコピーを$HOMEディレクトリのnpmという名前のキャッシュフォルダーに保持します。そのため、次回ダウンロードしなくてもインストールできます。

キャッシュされたモジュールを表示するには:

$ ls ~/.npm

キャッシュフォルダは、時間の経過とともにすべての古いパッケージで溢れかえります。時々キャッシュをクリーンアップすることをお勧めします。

[メール保護]の時点で、npmキャッシュは破損の問題から自己回復し、キャッシュから抽出されたデータは有効であることが保証されています。すべての一貫性を確認したい場合は、次を実行してください:

$ npm cache verify

キャッシュ全体をクリアするには、次のコマンドを実行します:

$ npm cache clean --force

NPM構成の表示

npm構成を表示するには、次のように入力します。

$ npm config list

または、

$ npm config ls

サンプル出力:

; cli configs
metrics-registry = "https://registry.npmjs.org/"
scope = ""
user-agent = "npm/5.6.0 node/v9.4.0 linux x64"

; node bin location = /home/sk/.nvm/versions/node/v9.4.0/bin/node
; cwd = /home/sk
; HOME = /home/sk
; "npm config ls -l" to show all defaults.

現在のグローバルロケーションを表示するには:

$ npm config get prefix
/home/sk/.nvm/versions/node/v9.4.0

そして、今のところこれですべてです。ここで取り上げたのは基本です。 NPMは広大なトピックです。詳細については、NPM入門にアクセスしてください。 ガイド。


Linux
  1. PyPIパッケージを簡単に管理するためにpipをインストールする方法

  2. Raspberry Piファイアウォール:UFWを使用してインストールおよび管理する方法

  3. Linuxでaptコマンドを使用してパッケージを管理する方法

  1. 方法:Bundlerを使用してRubyGemsを管理する

  2. Ubuntu でパッケージをどのように管理しますか?

  3. アルパイン Linux に npm をインストールする方法

  1. LinuxでLogrotateを使用してログファイルを管理する方法

  2. CheckInstallを使用してソースからパッケージを構築する方法

  3. NixosにNpmパッケージをインストールする方法は?