#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' }}}