Skip to content

DNET_npm

nishi_74322014 edited this page Sep 11, 2026 · 1 revision

npm

概要

  • Node Package Managerの略

  • Node.js製パッケージ・マネージャ。

    • 開発環境系の管理
      Node.js用のパッケージを管理する。

      • タスク・ランナー
      • モジュール・システム
      • テスト・スイート
    • 依存性解決
      また、jQueryBootstrapといった
      Web画面開発用ライブラリも管理されている。

npm はもともと Node.js 上で動作するライブラリを管理するためのものだが、
Node.jsスタイルのライブラリでもブラウザで実行可能な形式に変換して
使用できるようになったため、npm さえあればbower
無くても困らない状況が生まれた。

インストール

Cordova Tools Extensionの該当節を参考にする。

バージョンアップ

npm update -g npm
npm install -g npm@latest

※ Node.js自体のバージョンアップも必要。

設定

NuGetで言うpackage.configの代わりにpackage.jsonを使用する。

詳細

プロジェクトとして初期化

JavaScriptライブラリを利用したいHTMLを
格納するディレクトリのルートで以下のコマンドを実行。

  • 省略初期化

    npm init -y
    
  • 対話型インタフェースで初期化

    npm init
    

これにより、package.jsonが生成される。

基本的なコマンド

npmのコマンド

インストール

npmのコマンドの該当節を参照。

アンインストール

npmのコマンドの該当節を参照。

インストール・パッケージの表示

npmのコマンドの該当節を参照。

package.json

詳しくは参考のpackage.jsonを参照。

dependencies

  • dependencies

    • 依存関係パッケージであることを意味する。
    • --save オプションを使用した際にdependenciesで保存される。
  • devDependencies

    • 開発用の依存関係パッケージであることを意味する。
    • 開発用の依存関係パッケージは、公開時に依存関係パッケージに含まれない。
    • --save-dev オプションを使用した際にdevDependenciesで保存される。
  • peerDependencies

    • プラグインモジュール

      • プラグインのケース
      • モジュールのバージョンを固定する場合
    • シングルトンモジュール

      • プラグイン以外のケース
      • モジュールがアプリケーション全体でひとつである場合
  • optionalDependencies
    環境によって依存ライブラリが変わる場合に有効

  • bundledDependencies
    以下のケースで使用するとのこと。

    • you want to re-use a third party library that
      doesn't come from the npm registry or that was modified
    • you want to re-use your own projects as modules
    • you want to distribute some files with your module

連携

bowerとの連携

bowerを参考にする。

webpackとの連携

webpackを参考にする。

パッケージ開発

JavaScriptライブラリの作り方の該当節を参照。

npmパッケージの開発と公開

npmパッケージの開発と公開

npmプライベート・リポジトリ

npmプライベート・リポジトリ

トラブルシュート

npmのトラブルシュート

参考

package.json(参考)

dependencies(参考)

問題点

npmが突如更新されなくなる覚悟をしといたほうがいいかも。...

本の虫:

解決?(MSによる買収)

結構、話題になりました(2020/03/17)。

OSSコンソーシアム

開発基盤部会 Blog

移行メモ

  • 「Node.js 上で動作するライブラリを管理するためのもだが」は 「〜ためのものだが」に正した。
  • devDependencies の説明「--save-dev オプションを使用した際に dependencies で保存される」は、直前の dependencies の説明と重複し 矛盾するため「devDependencies で保存される」に正した。
  • 元の PukiWiki では「bowerとの連携」と「webpackとの連携」の2つの見出しが 同一のアンカ(#aab94c1b)を持っていたが、 GitHub Wiki では見出しから別々のアンカが生成される。
  • マイクロソフト系技術情報 Wiki(techinfoofmicrosofttech.osscons.jp)への リンクは、移行済みの MS_CordovaToolsExtension に張り替えた。

Tags: 移行, npm, Node.js, パッケージマネージャ, package.json, JavaScript

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki

(未着手)

開発基盤部会 Wiki

移行管理: DONETODO

Clone this wiki locally