Deno中使用OpenAI遇JSR包未发布及类型导入报错问题咨询
Deno中使用OpenAI包的常见问题解答
问题背景
npm官方OpenAI包的说明中提到可通过JSR导入:
import OpenAI from 'jsr:@openai/openai';
但执行deno add jsr:@openai/openai时,出现错误提示:
error: jsr:@openai/openai was not found.
访问JSR对应页面显示:该包尚未发布任何版本。
目前通过import OpenAI from "npm:openai";可正常使用OpenAI,但导入类型时:
import { ChatCompletionCreateParamsStreaming } from "npm:openai";
出现TypeScript警告:
Deno:模块"npm:openai"没有导出成员ChatCompletionCreateParamsStreaming。你是否想要使用
问题解答
1. 该情况的原因是什么?
- npm包的文档提前更新了JSR导入的说明,但OpenAI官方尚未在JSR平台正式发布该包的任何版本,导致JSR仓库中无对应包内容,因此执行导入命令时会提示找不到包。
2. 其他包是否也常出现这类JSR未发布的情况?
- 这类情况不算普遍,但偶尔会发生:
- 包维护者计划同步发布到JSR,但文档更新进度领先于实际发布流程;
- 维护者后续放弃了JSR发布计划,但未及时更新文档内容。
- 多数主流包的跨仓库同步会比较及时,这类问题多发生在新发布渠道的过渡阶段。
3. 如何在Deno中正确使用OpenAI?
有两种可行方案:
方案一:继续使用npm:openai导入并解决类型问题
- 针对类型导入的警告,OpenAI的部分TypeScript类型可能位于子路径下,可尝试从
npm:openai/api导入:import { ChatCompletionCreateParamsStreaming } from "npm:openai/api"; - 也可以查看OpenAI包的类型定义文件(如
node_modules/openai/index.d.ts),确认目标类型的正确导出路径。
方案二:等待JSR版本正式发布
- 关注JSR上的@openai/openai页面,待官方发布版本后,即可使用文档中给出的JSR导入方式。
内容的提问来源于stack exchange,提问作者Daniel
相关产品推荐
相关产品推荐

