如何使用 Knex CLI

How to use the Knex CLI

我已经在我的 Node 项目中安装了 Knex,一切都很棒...到目前为止...

现在我更深入地研究 Knex 并面临迁移问题。我找到的所有文档都在谈论 运行ning 命令,例如 "knex migrate:latest" 等。当我尝试从 (Windows) 命令 运行 此类命令时得到的结果line 是一个错误,告诉我 'knex' 是一个未知命令。

我不是 npm 和 Nodes 专家,只是足以掌握 运行ning 的基础知识。在深入研究 knex 节点包时,我在 'package.json' 的 'bin' 部分下找到了 cli.js 文件的一些配置。我不明白这些配置,即使阅读有关此 'bin' 部分的 npm 文档也没有让我更清楚。

所以这是我的问题: 我在 Windows 10 上,并在我的项目本地安装了一个像 'knex' 这样的包。 Knex 带有一个 cli。我需要做什么才能从我的控制台调用该 cli?

如果您还没有全局安装 knex(我不推荐),您可以从 node_modules/.bin/knex 找到客户端。

当您在本地将软件包安装到某个目录时,所有 "bin" 可执行文件都会自动链接到 node_modules/.bin 下。如果您使用 package.json 脚本中的这些脚本,npm 会自动将 node_modules/.bin 添加到路径中,因此在包 json 中您不必引用 node_modules/.bin/knex 而只需引用 knex 够了。

首先输入 "npx knex" 以访问 knex 模块可用的选项和命令。为了能够使用与它捆绑在一起的 Knex cli,您必须从您打算从中创建文件的任何路径访问 knex 模块。例如,假设我在 migrations 目录中并且 node_modules 文件夹是一个更高的路径,我将以这种方式访问​​其中的 Knex 模块 '../node_modules/.bin/knex migrate:make create-user-table.js' 以便能够创建 'create-user-table.js' 迁移文件。我希望我已经足够清楚了。

如果您的项目中安装了 knex,您可以通过向 package.json.

添加一个简单的脚本来通过 shell 使用它
"scripts": {
  "knex": "knex"
}

现在您可以将 knex cli 与 npm run knex 一起使用,或者,如果您使用 yarn,则 yarn knex

在您的控制台中,尝试 $ npx knex migrate:latest 它帮助了我

如何使用Knex CLI

Unix Shell

本地

npm i knex
NODE_ENV=development npx knex migrate:list
# or
export NODE_ENV=development && npx knex migrate:list

全球

npm i knex -g
NODE_ENV=development knex migrate:list
# or
export NODE_ENV=development && knex migrate:list

Windows Shell

本地

npm i knex
set NODE_ENV=development&& npx knex migrate:list

全球

npm i knex -g
set NODE_ENV=development&& knex migrate:list

考虑使用 Git Bash Shell,除了包含 Windows 环境外,其行为类似于 Unix shell。