Next.js项目next-intl报错:Module not found: ./link未导出
问题描述
在Next.js应用中合并包含重大变更的分支并解决冲突后,重新安装next-intl包时出现如下报错:
Module not found: Package path ./link is not exported from package...\node_modules\next-intl (see exports field in ...\node_modules\next-intl\package.json)
重新安装该包无法解决问题,且未找到相关解决方案。当前使用的next-intl版本为3.0.0-rc.2,其package.json的exports字段核心内容如下:
{ ".": { "types": "./dist/types/src/index.d.ts", "react-server": "./dist/esm/index.react-server.js", "default": "./dist/index.js" }, "./server": { "types": "./server.d.ts", "react-server": "./dist/esm/server.react-server.js", "default": "./dist/server.js" }, "./navigation": { "types": "./navigation.d.ts", "react-server": "./dist/esm/navigation.react-server.js", "default": "./dist/navigation.js" }, // 其他导出项省略 }
解决方案
1. 替换旧导入路径
next-intl v3版本已将原next-intl/link模块迁移至next-intl/navigation中,需全局替换代码中的导入语句:
将所有:
import { Link } from 'next-intl/link';
替换为:
import { Link } from 'next-intl/navigation';
2. 清理依赖缓存
删除本地依赖目录和锁文件,重新安装依赖:
- npm用户执行:
rm -rf node_modules package-lock.json npm install
- yarn用户执行:
rm -rf node_modules yarn.lock yarn install
3. 清除Next.js构建缓存
手动删除.next目录,或执行构建命令自动清理:
rm -rf .next npm run build
4. 验证版本兼容性
确认项目中Next.js版本符合next-intl的peer依赖要求(^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0),版本不匹配可能引发额外问题。
内容的提问来源于stack exchange,提问作者Klaidonas
相关产品推荐
相关产品推荐

