カテゴリー
SugiBlog Webエンジニアのためのお役立ちTips

fnmからVoltaへ乗り換える理由と手順

Node.jsのバージョン管理ツールとして人気のある「fnm(Fast Node Manager)」から「Volta」への乗り換えを検討している方に向けて、両者の違いと移行手順、そしてVoltaを選ぶべきケースについて解説します。

fnmとVoltaの比較

項目 fnm Volta
開発言語 Rust Rust
速度 非常に高速 高速(shim機構でわずかに遅い場合あり)
Node.jsバージョン管理 あり あり
package.json 連動(volta フィールド) なし あり(pin で自動記録・使用)
package.json の engines 読み取り なし あり(CIや警告用途)
.node-version / .nvmrc 対応 あり(自動切り替え対応) あり(読み取り対応。ただし自動 pin ではない)
グローバルツールのバージョン管理 なし(npm -g をそのまま使う) あり(volta install で固定・再現可能)
再現性のあるCI環境構築 やや工夫が必要 容易。package.json の volta フィールドを使用
シェル統合のしやすさ 手動設定あり(シェルrcへの追加必要) 自動設定(インストーラが対応)

Voltaを選ぶべきケース

以下のようなケースでは、Voltaへの乗り換えが強く推奨されます。

  • CI環境でpre-commitやlint-stagedなどを実行している
  • Node.jsやnpmのバージョンをpackage.jsonで明示している
  • チーム開発でツールのバージョン差異によるトラブルを防ぎたい
  • グローバルにインストールしたツールをプロジェクトごとに固定したい

続きを読む…»

38 views

XAMPP for Windows における SSL 有効化手順

ローカル開発環境の XAMPP に HTTPS 通信を導入するための、Windows 10/XAMPP 8.2.12 環境での手順を整理して解説します。

事前に準備するもの

  • Windows 10 環境
  • XAMPP 8.2.12
  • Git(Git Bash を利用することを想定しています)
    Git 公式サイト

PHP の OpenSSL 拡張を有効化する

PHP の設定ファイル C:\xampp\php\php.ini を開き、以下の行を見つけてコメントアウトを外します。

extension=php_openssl.dll

これにより、PHP 経由で SSL 証明書に対応できるようになります。

Apache の SSL 用 Virtual Host を設定する

Apache 設定ファイル C:\xampp\apache\conf\extra\httpd-ssl.conf を編集して、HTTPS 通信を受け入れる仮想ホストを追加します。

<VirtualHost *:443>
    DocumentRoot "C:/xampp/htdocs"
    ServerName localhost
    SSLEngine on
    SSLCertificateFile "conf/ssl.crt/my-server.crt"
    SSLCertificateKeyFile "conf/ssl.key/my-server.key"
</VirtualHost>
  • ServerName は用途に応じて変更可能です。
  • DocumentRoot のパスも実際のプロジェクトディレクトリに合わせて調整してください。

動作確認

ここまでの段階で、https://localhost にアクセスすれば、警告は表示されますが強制的にページを表示させることができます。
しかしまだ証明書を作成していないので、セキュリティ保護なしの状態でページが表示されます。

続きを読む…»

162 views

PowerShellのバージョン確認方法

$PSVersionTableコマンドで確認することができます。

PS C:\> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      5.1.19041.5848
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.19041.5848
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
196 views

ファイルやディレクトリをGit管理対象から除外する

ファイルを指定してGit管理対象から除外したいとき

git rm --cached [ファイル名]

--chachedオプションを付けているのはファイルを残したいためです。
このオプションを付けないとファイルごと削除されてしまうので注意してください。

ディレクトリとそれ以下を一括で処理したいときは-rオプションを付ける

git rm --cached -r [ディレクトリ名]
209 views

Gitで削除したブランチを復活させる方法

Gitでソース管理しているプロジェクトを開発する中で、間違って必要なブランチを削除してしまったら、もう取り戻せないのでしょうか?
そんなことはありません!ご安心ください。
間違って削除してしまったブランチを復活させる方法がありましたのでご紹介します。

検証環境:git version 2.39.2.windows.1

まずは履歴から該当ブランチの最後のコミットを探します。
Gitの変更履歴を表示するには以下のようなコマンドを実行します。

git reflog

コマンドを実行すると次のように履歴が表示されます。

66ee5fa HEAD@{0}: checkout: moving from mybranch to master
4bba15a HEAD@{1}: commit: commit message
fc11042 HEAD@{2}: checkout: moving from master to mybranch
...

表示された履歴から該当ブランチの最後のコミットを見ると2行目のHEAD@{1}がそれにあたります。
{}の中の数字はログ番号です。

続きを読む…»

237 views