React 入门

安装 Node.js 版本管理工具 fnm

在 Windows 系统上,我们可以使用 Windows 包管理器 winget 来安装 fnm:

1
winget install Schniz.fnm

安装 Node.js 版本

  1. 安装最新的 LTS (长期支持) 版本:
1
fnm install --lts
  1. 安装特定版本:
1
2
fnm install 18.17.0
fnm install 20.5.0
  1. 通过代理安装(适用于网络访问受限的情况):
1
fnm install 20.5.0 --node-dist-mirror https://npmmirror.com/mirrors/node/
  1. 常用命令
1
2
3
4
5
6
fnm list-remote          # 查看可安装版本
fnm install --lts # 安装最新 LTS
fnm use 20.5.0 # 当前会话使用
fnm default 20 # 设为默认(新终端生效)
fnm list # 查看已安装
fnm uninstall 18 # 卸载某版本
  1. 添加版本文件
    1
    echo 20.11.1 > .node-version

常见问题与解决方案

问题:fnm 切换版本时出现环境变量错误

执行 fnm use 20 命令时遇到以下错误:
PS E:\web\react-demo> fnm use 20 error: We can’t find the necessary environment variables
to replace the Node version. You should setup your shell profile to evaluate fnm env,
see https://github.com/Schniz/fnm#shell-setup
on how to do this Check out our documentation for more information: https://fnm.vercel.app

解决步骤:
打开 PowerShell 的配置文件在 PowerShell 中执行以下命令,创建 / 编辑配置文件(如果没有会自动创建):
powershell
notepad $PROFILE
(如果提示 “无法找到路径”,先执行 New-Item -Path $PROFILE -Type File -Force 创建文件,再重新执行上述命令)
添加 fnm 初始化命令在打开的记事本中,添加以下内容(让终端启动时自动初始化 fnm):
powershell
fnm env | Out-String | Invoke-Expression
保存并重启 PowerShell保存记事本文件,关闭所有 PowerShell 窗口,重新打开一个新的 PowerShell 终端。
验证配置重新执行 fnm use 20,如果之前已经安装了 Node.js 20 版本,会显示切换成功;如果未安装,先执行 fnm install 20 安装,再切换。
原理说明:
fnm 需要在终端启动时通过 fnm env 配置环境变量(比如 Node.js 的路径),否则无法正确切换版本。上述步骤会让 PowerShell
每次启动时自动执行这个初始化命令,解决 “找不到环境变量” 的问题。

问题:fnm 切换版本时出现环境变量错误

. : 无法加载文件 C:\Users\artemis\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅
https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 3

  • . ‘C:\Users\artemis\Documents\WindowsPowerShell\Microsoft.PowerShell_ …
  • + CategoryInfo          : SecurityError: (:) [],PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess
    

步骤 1:以管理员身份打开 PowerShell
按下 Win + X,选择 “Windows PowerShell (管理员)”(注意必须是管理员权限)。
步骤 2:查看当前执行策略
执行以下命令,查看当前的 PowerShell 执行策略:
powershell
Get-ExecutionPolicy
默认情况下可能显示 Restricted(禁止所有脚本运行)。
步骤 3:修改执行策略(允许本地脚本)
执行以下命令,将执行策略改为 RemoteSigned(允许运行本地脚本,远程下载的脚本需要签名):
powershell
Set-ExecutionPolicy RemoteSigned
会提示 “是否更改执行策略?”,输入 Y 并回车确认。
步骤 4:验证配置并重启 PowerShell
关闭管理员 PowerShell 窗口,重新打开普通的 PowerShell(无需管理员)。
再次执行之前的 fnm use 20 命令,此时会自动加载配置文件,应该能正常切换版本了。