无法使ESM与Knex CLI v0.21.5一起使用

问题描述

运行时:

npx knex migrate:latest

我收到此错误

error

.npm中的/home/raj/.npm/_npx/8138/lib/node_modules/knex/lib/util/import-file.js目录是什么?可以删除某些缓存吗?

我将Knex更新为0.21.5,因此它可以与我在"type":"module"中为ESM语法设置的package.json一起使用,但仍然收到此投诉。我的node.js项目使用import语句,而不是require()调用,所以对造成这种情况的原因感到困惑。此外,Knex的命令行工具也已更新为最新版本:

versions

它可能与Knex的命令行工具有关吗?一些nvmnpx缓存?还是其他?

解决方法

这是因为要使ESM正常运行,该命令需要使用--esm参数运行:

npx knex --esm migrate:latest