node.js | knex:找不到命令

node.js | knex: command not found

我在与 Cpanel (See screenshot) 的共享主机上安装了 node.js

然后knex安装没有任何问题。

{
  "name": "cmonapp",
  "version": "1.0.0",
  "description": "APPLICATION NAME",
  "main": "start.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "Meric",
  "license": "ISC",
  "dependencies": {
    "hapi-auth-jwt": "^4.0.0",
    "jsonwebtoken": "^8.2.2",
    "knex": "^0.14.6",
    "mysql": "^2.15.0"
  }
}

但是当我尝试通过 SSH 执行 运行 knex init 命令时,我收到类似“-bash: knex: command not found”的错误

有人可以帮我解决这个问题吗?

您已将它本地安装到您的 NodeJS 项目中。

你可以const knex = require('knex')。 但是你不能 knex -v.

全局安装运行npm i -g knex

我解决了这个问题。在 .bashrc 文件中指定别名,如 "alias knex=/home/USER/nodevenv/APP/8/lib/node_modules/knex/bin/cli.js"

现在我可以使用所有 knex 命令了。

knex 二进制文件将安装在 node_modules/.bin 文件夹中。

如果您使用的是 npm@5.2.0 及更高版本,请使用 npx 访问您的本地依赖项,例如:

➜ npx knex --version

Knex CLI version:  0.15.0
Local Knex version:  0.15.0

如果npx不可用,

➜ $(npm bin)/knex --version

Knex CLI version:  0.15.0
Local Knex version:  0.15.0

不用说 knex init 命令在两个选项中都有效

➜ npx knex init

Created ./knexfile.js 

全局安装 knex

npm install -g knex

使用npx knex 这将读取到您的 node_modules 目录和 运行 bin/knex 可执行文件。