LoginSignup
0
1

More than 1 year has passed since last update.

HomebrewでnpmのCLIツールを管理する brew-npm のご紹介

Posted at

HomebrewでnpmのCLIツールを管理する brew-npm をご紹介します。

brew-gem が便利

brew-npm の紹介に入る前に、 brew-gem というツールはご存知でしょうか。

macで複数プロジェクトのRubyの開発をしていると、 rbenvrvm などを使って、プロジェクトごとにRubyのバージョンを切り替えて作業をしている方が多いと思います。

そんな環境で、グローバルにいろいろなディレクトリで使いたいCLIツールなどを、普通にgemでインストールすると、Rubyのバージョンが切り替わったときに使えなくなってしまいます。

# こういうのよくありますよね
$ foreman -v
rbenv: foreman: command not found

The `foreman' command exists in these Ruby versions:
  2.7.5

そんなときに brew-gem を使っていると、Homebrewのformulaとしてgemがインストールされ、コマンド実行時のRubyバージョンに関わらず利用することができるようになります。とても便利ですよね。

# こんなコマンドでインストールできます
$ brew gem install foreman

また、パッケージマネージャなどの管理ツールはあまり増やしたくないものです。
すでに利用してるHomebrewで管理することができるようになるのもメリットですね。

brew-gemのnpm版: brew-npm

そんな brew-gem のnpm版が brew-npm です。

nodenv / nvm / nodebrew などを使ってプロジェクトごとに Node.js のバージョンを切り替えて作業をしていても、コマンド実行時のNodeバージョンに関わらずCLIツールを利用することができるようになります。

ここから brew-npm の使い方を紹介していきます。

インストール

Homebrewでインストールできます。

brew install shuuuuun/tap/brew-npm

Rubygemsで入れることもできます。

gem install brew-npm

使い方

npmのインストールは以下のようなコマンドになります。brewのサブコマンドとして利用します。

brew npm install ${NPM_PACKAGE_NAME}

# ex.
brew npm install serverless

特定のバージョンを指定することもできます。

brew npm install ${NPM_PACKAGE_NAME} ${VERSION}

# ex.
brew npm install serverless 3.4.0

インストール後は、そのまま通常どおり利用することができます。

CLIツールはHomebrewのbinパス($(brew --prefix)/bin)にインストールされるため、ここにPATHが通ってる必要があります。

# ex.
$ which serverless
/opt/homebrew/bin/serverless

※Intel Macの場合はbrew --prefix/usr/localの場合が多いかもしれません

コマンド一覧

サブコマンドの一覧はbrew npm helpで確認できます。

$ brew npm help
Please specify a npm package name (e.g. brew npm command <name>)
  install - Install a brew npm, accepts an optional version argument
            (e.g. brew npm install <name> [version])
  upgrade - Upgrade to the latest version of a brew npm
  uninstall - Uninstall a brew npm
  reinstall - Reinstall a brew npm
  info - Show information for an installed npm
  formula - Print out the generated formula for a npm
  version - Show version of brew-npm
  help - This message
  • install - npmパッケージをインストール
  • upgrade - インストール済みのnpmパッケージをアップグレード
  • uninstall - インストール済みのnpmパッケージをアンインストール
  • reinstall - インストール済みのnpmパッケージを再インストール
  • info - npmパッケージの情報を表示

Scoped packagesにも対応

また、npmのScoped packagesでも同じようにインストールできます。
(brew-npm v0.3.0以上を利用してください)

# ex.
brew npm install @google/clasp

brew list すると

ちなみに、インストールしたパッケージはbrew listしたときにnpm-というプレフィックスがついて表示されます。

$ brew list | grep npm-
npm-google-clasp
npm-koko
npm-rgb-hex-cli
npm-serverless

Philosophy

brew-gem と同様ですが、 brew-npm は端末内でグローバルに利用するスタンドアロンツールをインストールするためのもので、開発用のライブラリのインストールは想定していません。

おわりに

  • HomebrewでnpmのCLIツールを管理する brew-npm のご紹介でした。ぜひみなさん使ってみてください!
  • 不具合など見つけた方はissueなどで優しく教えてください
  • プルリクエストも歓迎です
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