0
0

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.

グローバルインストールを迫ってくるライブラリでもローカルにインストールした方がいい理由

Posted at

概要

例えば、ReactNativeの開発に必要なExpo CLIは、インストール方法で以下のようにグローバルインストールを迫ってきます。

npm install -g expo-cli

例としてExpo CLIを挙げましたが、他にもグローバルインストールを勧めてくるライブラリはよく見かける気がします。

グローバルインストールの何が問題なのか

大きく2つの問題が存在します。

1. 他の人がインストールする時に手順が不明になる

複数プロジェクトをかけ持つ場合など、環境構築手順を明文化したりコード化する場合に何をどのようにインストールする必要があるかが不明瞭になってしまうため(気づかないうちにグローバルインストールしたライブラリに依存していたりする可能性もあるため)、チーム開発や個人でも並行して開発する場合に大きな問題を生む種になります。

2. バージョンの管理ができない

仮にA, B2つのプロジェクトでグローバルインストールしたライブラリを使うことを考えます。
Aでは1.0.0, Bでは2.0.0のライブラリを使わなければいけない場合に、ライブラリをグローバルインストールしてしまうと、プロジェクトを切り替えるたびに正しいバージョンを更新する必要が出てきてしまいます。しかも手動で。人力を経てしまうため、忘れてしまうことや、ミスをする可能性などが生まれ危険です。

このような問題があるため、可能な限りライブラリはローカルインストールをした方が良いです。

ローカルインストールの方法

以下はyarnを使った例ですが、例えばexpo-cliだと

yarn add expo-cli --dev としてインストールします。

この後、インストールしたプロジェクト内ではyarn expo --versionなどとしてコマンドを利用することができるようになります。

グローバルインストールした場合と比較して、コマンドを実行するのにyarn が余分に必要になりますが、上記2点の大きな問題を解決することができるため開発者全員にお勧めしたい方法です。

おわりに

開発は1人で行う場合でも、複数プロジェクトの開発をすることも見越して、なるべくグローバルインストールが必要なライブラリは避けた方が良いです。ぜひ何も考えずにグローバルインストールを行ってきた方は、これを機会に、可能なものはローカルインストールに切り替えてみてください。

0
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?