「[[.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