如何将next-intl升级至2.14.4?解决升级后getTranslations报错问题
解决next-intl 2.14.4版本中getTranslations报错问题
问题分析
从2.13.0-beta.2升级到2.14.4后,导入getTranslations时出现getTranslation is not a function错误,大概率是缓存残留、拼写失误或版本兼容性问题导致。
修复方案
1. 清理依赖缓存并重装
升级后npm缓存可能残留旧版本代码,执行以下步骤:
- 运行
npm cache clean --force清理缓存 - 删除
node_modules文件夹和package-lock.json文件 - 重新安装指定版本:
npm install next-intl@2.14.4
2. 检查代码拼写
报错提示的是getTranslation(单数形式),确认代码中是否存在调用错误:
- 错误示例:
await getTranslation() - 正确示例:
await getTranslations({ locale, namespace: 'your-namespace' })
3. 验证Next.js版本兼容性
next-intl 2.14.x对Next.js版本有最低要求(需v13.4或更高),检查你的Next.js版本是否符合要求,若版本过低需同步升级Next.js。
4. 核对配置与调用方式
确保server组件中调用getTranslations时参数正确传递,示例如下:
import { getTranslations } from 'next-intl/server'; export default async function Page({ params: { locale } }) { const t = await getTranslations({ locale, namespace: 'common' }); return <h1>{t('page.title')}</h1>; }
内容的提问来源于stack exchange,提问作者Balalayka
相关产品推荐
相关产品推荐

