「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfrastructure.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。

-[[戻る>npm]]

*目次 [#d508f5b3]
#contents

*概要 [#m369cb51]
npmのコマンド

*詳細 [#y64c5906]
**インストール [#ta17153d]
-[[package.json>#k53f2eec]]の内容に従って、パッケージをインストール
 npm install
 npm i

-個別にパッケージをインストール
 npm install [package-name]@[version]
 npm i [package-name]@[version]

***--globalオプション [#qcbf70d0]
-グローバル・インストール(全てのプロジェクトで使える)
 npm install --global [package-name]@[version]
 npm i -g パッケージ名

***--saveオプション [#webf1eca]
パッケージをインストールし、その内容を[[package.json>#k53f2eec]]に保存する。
 npm install --save
 npm i -S

※ package.jsonが既存でないと保存しない。~
 package.jsonが既存でない場合、[[npm init>npm#tff47d40]]しておく。

***--save-devオプション [#k37dda62]
「開発ツール」としてインストール対象のライブラリを認識する。~
 npm install --save-dev webpack webpack-cli
 npm i -D webpack webpack-cli

※ 自動で package.jsonの dependencies ではなく devDependencies に追記される。~
 npm install --productionとすると、devDependenciesはインストールされない。

**アンインストール [#uecfc950]
***パッケージ [#be0a3d06]
 npm uninstall パッケージ名
 npm un パッケージ名

***グローバル・パッケージ [#z9a30e99]
 npm uninstall --global パッケージ名
 npm un -g パッケージ名

**アップデート [#le0576f5]
パッケージのアップデート~
未インストールのパッケージはインストールしない

***パッケージ [#ofd4a435]
 npm update
 npm up
 npm update パッケージ名
 npm up パッケージ名

***グローバル・パッケージ [#da0c22f0]
 npm update --global
 npm up -g
 npm update --global パッケージ名
 npm up -g パッケージ名

**インストール・パッケージの一覧表示 [#d47d5804]

***パッケージ [#q234a441]
 npm list
 npm ls

***グローバル・パッケージ [#yc5d7792]
 npm list --global
 npm ls -g

**セキュリティ監査 [#w961e02f]
npm v6から「npm i」した際に、~
以下のようなメッセージが表示される。

 audited n packages in n.ns
 found n vulnerabilities (n low, n high)
  run `npm audit fix` to fix them, or `npm audit` for details

***監査レポートを取得 [#a8792d3a]
JSON形式の詳細な監査レポートを取得
 npm audit

***監査によりファイルを修正 [#me265b42]
package.json と package-lock.jsonが対象(オプションによるらしい)
 npm audit fix

**npm-scriptsのタスクの実行 [#g9642357]
**npm-scriptsタスクの実行 [#g9642357]

***概要 [#t32ec12b]
-npm run-script <スクリプト名> でスクリプトを実行可能。
-スクリプトは、 package.json の scripts プロパティで定義する。
-エイリアスがあるので、npm run <スクリプト名> でも実行可能。

***testとstart [#a74ad5f4]
-run サブコマンドの指定が不要。
-test は t および tst というエイリアスを持っている

***preとpost [#ga5dd033]
-pre-testとpost-testなどを定義する。
-コマンドの前後に処理を挿入できる。

***便利タスク [#wda3e57c]
あると便利なタスクの定義
|スクリプト名|目的|h
|build|ビルド|
|clean|ビルド結果の削除|
|type-check|型チェック|
|lint|静的コード解析|
|coverage|コードカバレッジ計測|

**npx [#nedffe0c]
-コマンドやスクリプトを実行するユーティリティ。

-インストール
--インストールする場合はnpm install -g npxを実行する。
--npmのバージョン5.2.0以降はnpxがプリインストールされている

***透過的に実行 [#u560992e]
ローカルにインストールしたnpm packageのコマンドを透過的に実行する。

--npmの場合

---パス指定
 > ./node_modules/.bin/パッケージ名
---定義したタスク

---[[npm-scriptsタスク>#g9642357]]
 > npm run タスク名

--npxの場合
 > npx パッケージ名

---ローカルインストールしたパッケージをrun-scriptを使用しないで実行

***一時的に実行 [#t37da0e7]
ローカルに存在しないコマンドでも一時的にダウンロードして実行する

-グローバルインストールしないで一度だけコマンドを実行
 >npx cowsay hoge
 npx: installed 10 in 4.403s
  ______
 < hoge >
  ------
         \   ^__^
          \  (oo)\_______
             (__)\       )\/\
                 ||----w |
                 ||     ||

-GitHubやGistで公開されている実行
 > npx githhub:ユーザー名/リポジトリ名 

***バージョンを指定して実行 [#qfd10e60]
nodeのバージョンを指定してnpm-scriptsを実行できる
 > npx -p node@10.3.0 npm run build

*参考 [#i8322cff]
-npmコマンドの使い方 - Qiita~
https://qiita.com/yoh-nak/items/8446bf12094c729d00fe

-npm-scripts でチームメンバーと共通認識を作る | DevelopersIO~
https://dev.classmethod.jp/articles/be-on-the-same-page-by-using-npm-scripts/

**npx [#x00fc8b3]
-知らないのは損!npmに同梱されている~
npxがすごい便利なコマンドだった | DevelopersIO~
https://dev.classmethod.jp/articles/node-npm-npx-getting-started/

-npxようやく理解した - Lambdaカクテル~
https://blog.3qe.us/entry/2019/10/17/150753

***Qiita [#z4e68e9a]
-npmとnpx。なにが違う?~
https://qiita.com/sivertigo/items/622550c5d8ec991e59a6
-npxでnodeモジュールを実行する~
https://qiita.com/tatakahashiap/items/1c4ab221c4993e7c4ebf
-npm 5.2.0の新機能! 「npx」でローカルパッケージを手軽に実行しよう~
https://qiita.com/tonkotsuboy_com/items/8227f5993769c3df533d

***zenn.dev [#h2ea0866]
-npxコマンドとは?何ができるのか?~
https://zenn.dev/ryuu/articles/what-npxcommand
-npm と npx の違いについて調べてみた (2020.12.29)~
https://zenn.dev/researcher_h/scraps/e47d707fb9c447

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS