升级Node后触发[ERR_PACKAGE_PATH_NOT_EXPORTED]错误,请求排查
解决Node升级后IIS服务器上Apify依赖entities包的[ERR_PACKAGE_PATH_NOT_EXPORTED]错误
核对服务器与本地的Node版本
这个错误核心是Node版本对package.json的exports字段校验规则不一致导致的。先在服务器上执行node -v,确认和本地开发环境的Node版本完全匹配(包括主版本和次版本,比如本地用18.17.0,服务器不能是16.x)。如果版本不一样,把服务器的Node升级或降级到和本地一致的版本。重新生成并同步依赖包
本地删掉node_modules文件夹和package-lock.json,运行npm install生成全新的依赖和锁文件。把新的node_modules和锁文件一起上传到服务器,避免服务器重新安装时拉取到不兼容的依赖版本。也可以在服务器上执行npm ci,强制按照锁文件安装依赖,保证和本地依赖树完全一致。调整Apify或entities的版本
部分旧版Apify依赖的entities包版本在高版本Node下会触发这个错误。可以尝试把Apify升级到最新稳定版:npm install apify@latest,重新部署后再测试。如果不能升级Apify,就在package.json里手动指定兼容的entities版本,比如"entities": "^4.5.0",重新安装依赖后再部署。检查IIS的Node配置
确认IIS里配置的Node.exe路径是你升级后的版本,有些时候IIS会默认使用旧版本的Node。找到对应应用的程序池,检查Node.js安装路径是否正确,之后重启应用程序池和网站让配置生效。
内容的提问来源于stack exchange,提问作者BigTechCensorVictim
相关产品推荐
相关产品推荐

