0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Package manager 一覧整理

Last updated at Posted at 2020-10-22

Package managerの一覧整理

パッケージマネージャとは、コンピュータに何のソフトウェアがインストールされたかを記録し、新しいソフトウェアのインストール・新しいバージョンへのソフトウェアの更新・以前インストールしたソフトウェアの削除を容易に行えるようにするプログラムです。

パッケージとは、ファイル群を一つにし、インストールや削除をまとめてできるようにしたものです。

各言語

Language Type File Package manager
Python FS requirements.txt pip
Ruby FS Gemfile Bundler
JavaScript F package.json npm, yarn
Node.js S package.json npm, yarn
Rust - Cargo.toml cargo

npmとYarnの違い

npm Yarn
Package-install速度 遅い傾向 速い傾向
安全性 パッケージの整合性チェックなどはない パッケージの整合性チェックがあり、安全性が高い
バージョン管理 バージョン違いの依存パッケージをインストールしてしまう可能性がある yarn.lockファイルによってバージョン管理が強固になり、バージョン違いの依存パッケージのインストールの心配がな

Yarnの特徴としては、次のものが挙げられます。

npmと互換性がある
インストールが速い
セキュリティが高い
強固なバージョン管理が可能

そして、Yarnはインストールの速度がnpmと比べて非常に速い。
npmでは直列でインストールし、Yarnでは並列でインストールできるためです。

さらにセキュリティもYarnは強固で、インストール時にパッケージが不正に変更されていないかなどをチェックサムを用いて検証することができます。

最後にバージョン管理についても優れています。
・yarn.lock
インストールしたパッケージが使用している別のパッケージ(依存パッケージ)のバージョンが明確に書き込まれます。
依存パッケージバージョンの整合性が保たれるので、バージョン不一致でプロジェクトが動かなくなる危険性が無くなります。

Linux

Distibution パッケージ形式
RedHat系 RPM RPM、yum
Debian系 deb dpkg、apt

パッケージ管理システムでできること

・パッケージのインストール、アンインストール、更新

・パッケージ同士の依存関係の解決
パッケージ管理システムでは依存関係を把握し、依存関係が損なわれてしまうようなインストール(あるいはアンインストール)に警告を出します。

・パッケージをリポジトリから持ってきます。
「公式リポジトリ」おかげで、パッケージ名を指定することでシステム側でリポジトリを探して、パッケージを探してくれます。
非公式のリポジトリもありますが、それらはパッケージ管理システムに登録することで使えるようになります。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?