パッケージ管理っていろんなプロジェクトで使うことが多いので、手順を覚書。
一度設定してしまえばあまりこの手順は必要ないが、だからこそパソコンを買い替えたりしたときほぼ初めての作業になってしまうので必要性を感じました。
何度もやらないことって忘れがち…。
もくじ
Homebrew
Homebrewを使うことで、コマンドを実行するだけでパッケージのインストールやアンインストールが簡単に行えます。
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
これでインストール完了。
$ brew -v
バージョンを確認して終了です。
コマンドが変わることもあるかもしれないので、Homebrew公式サイトから最新のコマンドを確認しましょう。
composer
composerをインストールするためには先にHomebrewがインストールされている必要があります。
$ brew install composer
これでインストール完了。
$ composer -v ______ / ____/___ ____ ___ ____ ____ ________ _____ / / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/ / /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ / \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/ /_/ Composer version 1.9.2 2020-01-14 16:30:31
バージョンを確認して終了。ここに表示される日付は端末に初めてインストールした日時です。
composerとはってのを軽く過去記事にて挙げてます。
npm
npmとは「Node Package Manager」の略で、Node.jsのモジュールを管理するツールです。最近ではyarnのほうが主流なのかもしれません。yarnについて次項で紹介します。
なお、Node.jsをインストールすると同時にnpmもインストールされます。
Node.jsについては過去記事にて。
npmの使い方としては、package.jsonを読み込んでファイル内に記載されているライブラリ等をまとめてインストール管理してくれるものです。
なお、プロジェクトごとにパッケージ管理したほうがいいので、プロジェクト(ディレクトリ)ごとにnpm install
して管理しましょう。(’22 06追記)
バージョン管理
$ npm -–version
手順
$ npm init // package.jsonを作成 $ npm install // package.jsonに記載されたパッケージを一括インストール
package.jsonには、パッケージ情報を記載しましょう。 以下は一例です。当然プロジェクトによって異なります。
{ "name": "my-package", "description": "my first package ever", "license": "MIT", "version": "1.0.0", "bin": "./cli.js", "main": "index.js", "scripts": { "start": "node index.js" }, "dependencies": { "axios": "^0.18.0" }, "devDependencies": { "eslint": "^5.14.1" } }
yarn
npmと役割は同様。並行処理でのインストールによってnpmよりも高速にパッケージをインストールできます。2016年にFaceBookが公開したものらしいです。
npmと互換性があるため同じpackage.jsonが使える上に、メリットがいろいろあります。
yarnのメリット
- インストールが高速
- yarn.lockファイルで、各パッケージのインストールバージョンを固定できる。
- npmと同じのpackage.jsonが使えるため、同一プロジェクトでnpmと一緒に使える
手順
$ sudo npm install -g yarn // インストール $ yarn init // package.jsonの生成 $ yarn // package.json記載のモジュールをインストール $ yarn add パッケージ名 // パッケージの追加 $ yarn remove // パッケージのアンインストール $ yarn -v // バージョン確認
パッケージの追加等ももちろんnpmでできますが、今後はyarnを使うことが多いかもしれませんね。
参考URL
【初心者向け】NPMとpackage.jsonを概念的に理解する - Qiita