LinuxでNode.js / npmを使うための設定とベストプラクティス

Linux環境でNode.jsを利用した開発は、Webアプリケーション、CLIツール、ビルドツールなど幅広い用途で不可欠になっています。一方で、インストール方法の選択npmの権限問題バージョン管理を誤ると、後々トラブルの原因になりがちです。

本記事では、Linux上でNode.js / npmを安全かつ効率的に利用するための設定方法と、実務で推奨されるベストプラクティスを体系的に解説します。


Node.jsとnpmの基礎知識

  • Node.js
    JavaScriptをサーバーサイドで実行するためのランタイム
  • npm (Node Package Manager)
    Node.jsの公式パッケージ管理ツール
  • npx
    npmに付属する、一時的にパッケージを実行するためのコマンド

Node.jsをインストールすると、通常は npm と npx も同時に利用可能になります。


LinuxでのNode.jsインストール方法の選択

1. ディストリビューション標準リポジトリ(非推奨)

sudo apt install nodejs npm
  • メリット:簡単
  • デメリット:Node.jsのバージョンが古いことが多い

検証用途以外では推奨されません。


2. NodeSourceリポジトリ(シンプル)

curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs
  • メリット:比較的新しいLTSが使える
  • デメリット:複数バージョン管理ができない

3. nvm(Node Version Manager)【推奨】

実務・個人開発ともに最もおすすめされる方法です。

nvmのインストール

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

設定反映:

source ~/.bashrc

Node.jsのインストール

nvm install --lts
nvm use --lts

バージョン確認

node -v
npm -v

nvmのメリット

  • Node.jsの複数バージョンを共存可能
  • プロジェクトごとにNode.jsバージョンを切り替えられる
  • sudo不要でnpmを利用できる

npmの基本設定と注意点

sudoでnpmを使わない

以下はやってはいけない例です。

sudo npm install -g package-name

理由

  • ファイル権限の破壊
  • セキュリティリスク
  • 後からnpmが壊れる原因になる

👉 nvmを使えばsudoは不要です。


npmのグローバルパッケージの扱い

npm install -g npm-check-updates

代表的なグローバルツール

  • eslint
  • typescript
  • vite
  • npm-check-updates

プロジェクト単位でのベストプラクティス

package.jsonを必ず管理する

npm init -y
  • 依存関係
  • 実行スクリプト
  • Node.jsの前提条件

を明示的に管理します。


node_modulesをGit管理しない

.gitignore に必ず追加

node_modules/

依存関係は以下で復元します。

npm install

package-lock.jsonをコミットする

  • 依存関係の完全固定
  • 環境差異の防止
  • CI/CDでの再現性向上

👉 削除・無視しない


npm scriptsを活用する

{
  "scripts": {
    "dev": "vite",
    "build": "vite build",
    "lint": "eslint ."
  }
}

実行

npm run dev

Node.jsバージョン固定のベストプラクティス

.nvmrcを使う

20

使用時

nvm use
  • チーム開発
  • CI環境
  • 将来的な保守

で非常に重要です。


セキュリティとメンテナンス

脆弱性チェック

npm audit
npm audit fix

依存関係の更新確認

npm outdated

よくあるトラブルと対処法

node / npm が見つからない

command not found: node

対処

source ~/.bashrc
nvm use --lts

権限エラー(EACCES)

原因

  • sudo npm の使用履歴

対処

  • nvmを使ったクリーンなNode.js環境に切り替える

まとめ

LinuxでNode.js / npmを安全かつ快適に使うための要点は以下の通りです。

  • Node.jsは nvmで管理する
  • npmに sudoは使わない
  • プロジェクト単位で依存関係を管理する
  • Node.jsバージョンを明示的に固定する
  • セキュリティチェックを定期的に行う

これらを守ることで、開発効率と保守性を大きく向上させることができます。

タイトルとURLをコピーしました