1. はじめに
Ubuntuでnpmを使う理由
フロントエンド・バックエンド開発において欠かせないツールのひとつが「npm(Node Package Manager)」です。npmは、Node.jsのパッケージ管理ツールとして広く使われており、JavaScriptのライブラリやツールを簡単にインストール・管理することができます。
そのnpmをUbuntu環境で使うことで、Linuxならではの軽快な操作性やパッケージ管理の柔軟さを活かしながら、開発の効率を大きく高めることが可能です。Ubuntuは多くの開発者に支持されるディストリビューションであり、サーバー運用からローカル開発環境まで幅広く活用されています。
特にNode.jsベースのフレームワーク(Vue.js、React、Next.jsなど)を扱う際には、npmを使ってパッケージを管理するのが一般的です。Ubuntu上でこれらをセットアップすることで、WindowsやmacOSに比べてトラブルの少ない、安定した開発環境を構築できます。
本記事の目的
この記事では、Ubuntuにおいてnpmを導入し、基本的な使い方をマスターするまでの手順を丁寧に解説していきます。特に以下のような方に向けた内容です。
- Ubuntuを初めて触る開発者
- Node.jsやnpmの環境構築に悩んでいる方
- npmの使い方を体系的に学びたい方
また、インストール方法に関しては複数のアプローチを紹介し、それぞれの特徴やメリット・デメリットにも触れていきます。加えて、よくあるエラーやトラブルの対処法、便利なコマンド集なども盛り込みながら、読者がスムーズにUbuntuでnpmを使えるようになることを目指します。
2. UbuntuへのNode.jsとnpmのインストール方法
Ubuntuでnpmを使うには、まずNode.jsをインストールする必要があります。というのも、npmはNode.jsに付属して提供されているため、Node.jsを導入すればnpmも同時に利用できるようになります。
ここでは、UbuntuでNode.jsとnpmをインストールする3つの主要な方法を紹介します。それぞれの方法に特徴があり、目的や開発スタイルに応じて最適なものを選ぶことが大切です。
方法1:Ubuntu公式リポジトリを使う
手順
Ubuntuの標準リポジトリにはNode.jsが用意されています。最も簡単で初心者に適した方法です。
sudo apt update
sudo apt install nodejs npm
インストール後、以下のコマンドでバージョンを確認できます:
node -v
npm -v
メリット
- コマンドがシンプルで迷いにくい
- 安定バージョンが提供されているため安心
デメリット
- 提供されているNode.js/npmのバージョンが古いことが多く、最新の機能を使えない場合がある
方法2:NodeSourceのPPAを使う
Node.jsの公式サポートに近いリポジトリ「NodeSource」を利用することで、より新しいバージョンのNode.jsとnpmをインストールできます。
手順(例:Node.js 18.xをインストール)
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install -y nodejs
npmはNode.jsと一緒に自動的にインストールされます。
メリット
- 安定しつつも比較的新しいバージョンを使用可能
- 導入も簡単で、Ubuntuとの相性も良好
デメリット
- 他のPPAと同様、システムの依存関係を管理する必要がある場合も
方法3:nvm(Node Version Manager)を使う
複数のNode.jsバージョンを切り替えながら開発したい場合は、nvmの利用が最も柔軟で便利です。
手順
まず、nvmをインストールします:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
その後、シェルを再読み込みし、nvmを使ってNode.jsをインストールします:
source ~/.bashrc # または ~/.zshrc
nvm install 18
nvm use 18
npmはNode.jsと一緒に自動インストールされます。
メリット
- Node.jsのバージョンを自由に切り替えられる
- プロジェクトごとに適切なバージョンを設定可能
- システム全体に影響を与えず安全
デメリット
- 他の方法よりやや導入手順が複雑
- ターミナルの設定ファイルに手を加える必要がある
どの方法を選ぶべきか?
方法 | 難易度 | バージョンの新しさ | 柔軟性 | 推奨対象 |
---|---|---|---|---|
公式リポジトリ | ★☆☆ | △(古い) | × | 初心者、試してみたい人 |
NodeSource | ★★☆ | ○(比較的新しい) | △ | 一般的な開発者 |
nvm | ★★★ | ◎(自由に選べる) | ◎ | 複数プロジェクトを扱う人、上級者 |
基本的に、長期的にUbuntuでnpmを使った開発を行いたい場合はnvmが最も推奨されます。ただし、手軽に始めたい方はNodeSourceのPPAを使うのも良い選択です。
3. npmの基本的な使い方
UbuntuにNode.jsとnpmの環境が整ったら、次は実際にnpmを使ってパッケージを管理してみましょう。npmは、JavaScriptのパッケージをインストール・更新・削除するための強力なツールです。
ここでは、npmの基本的な使い方について、よく使われるコマンドを中心に紹介していきます。
パッケージをインストールする
ローカルインストール
特定のプロジェクト内でのみ使用するパッケージは、ローカルインストールします。これは通常の方法で、node_modules
ディレクトリにインストールされ、package.json
に記録されます。
npm install パッケージ名
例:axios
をインストールする場合
npm install axios
この方法では、同じプロジェクト内のスクリプトだけがそのパッケージを使用できます。
グローバルインストール
システム全体で使用するツール(CLIなど)は、グローバルインストールします。
npm install -g パッケージ名
例:http-server
をグローバルにインストール
sudo npm install -g http-server
Ubuntuでは、-g
オプションを使うときにsudo
が必要な場合があります。
パッケージをアンインストールする
不要になったパッケージは、以下のコマンドで削除できます。
ローカルのパッケージを削除
npm uninstall パッケージ名
グローバルのパッケージを削除
sudo npm uninstall -g パッケージ名
パッケージを更新する
パッケージを最新版に更新したい場合は、以下のように実行します。
個別パッケージの更新
npm update パッケージ名
すべての依存パッケージを一括で更新
npm update
ただし、package.json
で指定されたバージョン範囲内での更新となるため、バージョン番号に注意してください。
開発用パッケージをインストールする(–save-dev)
テストツールやビルドツールなど、本番環境では使用しない開発専用パッケージは、--save-dev
オプションでインストールします。
npm install --save-dev パッケージ名
例:jest
を開発依存としてインストール
npm install --save-dev jest
これにより、package.json
のdevDependencies
セクションに記録されます。
パッケージ一覧を確認する
ローカルのパッケージ一覧を確認
npm list
グローバルのパッケージ一覧を確認
npm list -g --depth=0
--depth=0
を指定することで、トップレベルのパッケージのみ表示され、見やすくなります。
プロジェクトの依存関係を管理するpackage.json
npmを使う上で重要なのが、プロジェクトルートに作成されるpackage.json
ファイルです。このファイルには、使用しているパッケージ名やバージョン情報、スクリプト定義などが記録され、プロジェクト全体の設定ファイルとして機能します。
以下のコマンドでpackage.json
を作成できます、
npm init
対話形式で入力することもできますし、簡略化したい場合は、
npm init -y
とすれば、デフォルト値で自動生成されます。

4. よくある問題とその解決策
Ubuntu上でnpmを使用していると、エラーや予期せぬ挙動に直面することがあります。ここでは、特に初心者がつまずきやすい代表的なトラブルとその対処法を紹介します。
パーミッション(権限)エラーが発生する
症状
EACCES: permission denied
npmでグローバルインストールを試みた際、上記のようなエラーが表示されることがあります。
原因
npmがパッケージをインストールしようとしているディレクトリに対して、現在のユーザーに書き込み権限がない場合に発生します。Ubuntuでは、セキュリティ上の理由から/usr/lib/node_modules
などのシステムディレクトリへの書き込みにはsudo
が必要です。
対処法
sudo
をつけて実行する:
sudo npm install -g パッケージ名
- もしくは、グローバルインストール先をユーザーディレクトリに変更することで、
sudo
なしでも使えるようにする:
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
その後、~/.bashrc
や~/.profile
に以下を追加してパスを通します:
export PATH="$HOME/.npm-global/bin:$PATH"
設定を反映するには、ターミナルを再起動するか、以下を実行:
source ~/.bashrc
npmコマンドが使えない、パスが通っていない
症状
command not found: npm
npmをインストールしたはずなのに、コマンドが認識されないことがあります。
原因
node
やnpm
のインストールが正常に完了していない- パスが通っていない(環境変数が設定されていない)
対処法
まずはパスを確認:
which npm
何も表示されない場合は、再インストールまたはパス設定の確認が必要です。nvmを使っている場合、ターミナルの設定ファイル(例:.bashrc
, .zshrc
)にnvmの初期化コードがあるか確認しましょう。
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
特定のパッケージだけインストールできない、バージョンの競合
症状
- パッケージAをインストールすると、依存パッケージとのバージョンが合わないと表示される
npm install
で大量の警告が出る
原因
npmでは、パッケージ同士の依存関係に矛盾があるとエラーや警告が出ます。また、古いプロジェクトで使われていたパッケージがすでに非推奨になっている場合もあります。
対処法
- 最新版をインストールしてみる:
npm install パッケージ名@latest
- パッケージの依存関係を確認:
npm ls パッケージ名
- 強制インストール(※非推奨)
npm install --legacy-peer-deps
- package-lock.jsonやnode_modulesを一度削除してクリーンにやり直す:
rm -rf node_modules package-lock.json
npm install
その他の便利なデバッグ手法
npm doctor
: システム環境のチェックをしてくれる
npm doctor
npm audit
: セキュリティ上の問題を検出し、対処方法を提示
npm audit
npm audit fix
Ubuntuにおけるnpmのエラーは、英語でのエラーメッセージが多いため戸惑う方も多いかもしれませんが、エラー文の内容をよく読み、冷静に対応することが解決への近道です。
5. よくある質問(FAQ)
ここでは、Ubuntuでnpmを使い始めた方がよく抱く疑問や、検索されやすい質問に対して簡潔に答えていきます。トラブルの未然防止や、より快適な開発環境の構築にお役立てください。
Q1. Ubuntuでnpmを最新バージョンにアップデートするには?
A1.
以下のコマンドを実行することで、npmを最新版に更新できます。
sudo npm install -g npm@latest
nvmを使っている場合は、sudo
は不要です:
npm install -g npm@latest
バージョン確認:
npm -v
Q2. npmの「グローバルインストール」と「ローカルインストール」の違いは?
A2.
- ローカルインストール:
- プロジェクトごとの依存関係を管理
node_modules
ディレクトリに格納される- 開発者同士で共有しやすい(
package.json
に記録) - グローバルインストール:
- CLIツールなど、システム全体で使用したい場合に使う
- Ubuntuでは
/usr/lib/node_modules
にインストールされることが多い sudo
が必要になることもある
Q3. nvmを使うメリットは?
A3.
nvm(Node Version Manager)を使うことで、複数のNode.jsバージョンを自由に切り替えることができます。
- 複数のプロジェクトで異なるNode.jsバージョンを使いたい場合に最適
- システム全体に影響を与えないので安全
- npmもバージョンごとに自動管理されるため、環境構築が非常に柔軟になる
Q4. npmの依存関係が壊れたときはどうすればいい?
A4.
まずは、node_modules
とpackage-lock.json
を削除して再インストールしましょう。
rm -rf node_modules package-lock.json
npm install
それでも解決しない場合は、npm ci
コマンドを試すのもおすすめです(CI/CD環境向けのクリーンインストール)。
Q5. npmコマンドの実行結果に「WARN」や「audit」が表示されますが、大丈夫ですか?
A5.
警告(WARN)は致命的なエラーではありませんが、依存関係の問題や非推奨機能の使用などを知らせるサインです。
セキュリティに関する警告が出た場合は、以下のコマンドで自動修正を試みることができます:
npm audit fix
ただし、慎重に行うためには、変更点を事前に確認し、Gitでバージョン管理してから適用するのが理想です。
Q6. Ubuntuでnpmを使って何が作れるの?
A6.
npmはJavaScriptの世界の「入り口」です。以下のようなものがUbuntuでも簡単に構築できます:
- フロントエンド開発環境(React、Vue、Svelteなど)
- 静的サイトジェネレーター(Next.js、Nuxtなど)
- サーバーサイド開発(Express、NestJSなど)
- CLIツールの開発
- テスト環境(Jest、Mocha など)
Ubuntu上でnpmを使えば、オープンソースの力を活用しながら、効率的かつ堅牢な開発が可能になります。
6. まとめ:Ubuntuでnpmを使いこなそう
この記事では、Ubuntu上でnpmを導入し、実際に活用するための基本知識と実践的なコマンドについて解説しました。最後に、ポイントを振り返っておきましょう。
本記事の要点
- npmとは:Node.jsに付属するパッケージ管理ツールで、開発の効率を大幅に高める
- Ubuntuへのインストール方法:公式リポジトリ・NodeSource・nvm の3つの方法があり、用途に応じて選択可能
- 基本操作:パッケージのインストール、削除、更新、依存管理などが簡単に行える
- トラブル対応:パーミッションやバージョンの問題にも対応できるノウハウを紹介
- FAQ:実際の開発現場でよくある疑問や不安にも丁寧に回答
初心者へのひとこと
Ubuntuとnpmは非常に相性が良く、モダンなWeb開発を快適に行うための強力な組み合わせです。最初はエラーや不明点もあるかもしれませんが、一つひとつ対処していくうちに、開発者としての理解が深まっていくはずです。
最も重要なのは「手を動かして試してみること」です。コマンド一つひとつを実行しながら、npmの挙動やエラーメッセージに慣れていきましょう。
以上で、Ubuntu環境におけるnpmの使い方ガイドは完結です。この記事があなたの開発環境の構築やスキルアップに役立つことを願っています。
その他のLinux系ノウハウやフロントエンド開発に関する情報も、随時公開していきますので、ぜひブックマークやSNSでのシェアもよろしくお願いします!