#author("2026-02-05T14:50:48+09:00","default:nobuoki","nobuoki")
#author("2026-02-05T14:53:26+09:00","default:nobuoki","nobuoki")
* プロジェクトルートを1つ決めてしまう [#g75eb8f1]

良し悪しは別として、
どのディレクトリに居ても確実に npx hoge が通るようにしたい

そうだ、~/npm を普段のプロジェクトルートにしてしまおう!

** ubuntu で npm [#aa733f6e]

#prism(bash){{{
# パッケージリストの更新
sudo apt update

# Node.jsとnpmのインストール
sudo apt install -y nodejs npm
}}}

** RHEL 系で npm [#y58881a1]
#prism(bash){{{
# 利用可能なNode.jsのバージョンを確認
sudo dnf module list nodejs

# 特定のバージョン(例:24)を有効化
sudo dnf module enable nodejs:24 -y

# インストール
sudo dnf install -y nodejs
# リポジトリ追加スクリプトの実行(Node.js 20の場合)
curl -fsSL https://rpm.nodesource.com/setup_20.x | sudo bash -
}}}

# インストール
sudo dnf install -y nodejs
# リポジトリ追加スクリプトの実行(Node.js 20の場合)
curl -fsSL https://rpm.nodesource.com/setup_20.x | sudo bash -
** RHEL 系で最新版LTSが欲しい場合(NodeSourceリポジトリを使用する) [#wbcfc319]

#prism(bash){{{
# リポジトリ追加スクリプトの実行(Node.js 22 LTSの場合)
curl -fsSL https://rpm.nodesource.com/setup_22.x | sudo bash -

# インストール
sudo dnf install -y nodejs
}}}

** RHEL 系で最新版が欲しい場合(NodeSourceリポジトリを使用する) [#wbcfc319]

#prism(bash){{{
}}}


** npm 入れたあと [#t1d2a80d]

#prism(bash){{{
# package.json がなければ作成(警告を避けるため)
[ -f ~/npm/package.json ] || (mkdir -vp ~/npm || true; cd ~/npm && npm init -y)
}}}

こうしておくと、どのディレクトリに居ても

#prism(bash){{{
npm --prefix ~/npm install prettier
npx --prefix ~/npm prettier ...
}}}

のように ~/ を基準にモジュールを呼び出すことができる
なのでaliasやシェル関数を定義しておくと楽

#prism(bash){{{
npm(){ command npm --prefix ~/npm "$@"; }
npx(){ command npx --prefix ~/npm "$@"; }
}}}


* prettier で php プラグインも入れる [#pde10d68]

#prism(bash){{{
# prettierのPHPプラグインをインストール
npm --prefix ~/npm install prettier @prettier/plugin-php

# 参考:prettierの設定ファイルを作成
tee ~/.prettierrc.yaml <<EOF
plugins:
  - "@prettier/plugin-php"
# バージョン指定が必要な場合はアンコメント
#phpVersion: "8.1"
singleQuote: true
trailingCommaPHP: true
EOF

# カレントディレクトリ以下の php ファイルを整形&上書き
npx --prefix ~/npm prettier --write '**/*.php'

}}}

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS