node.js | knex:找不到命令

Mer*_*dağ 3 knex.js

我在与Cpanel共享的主机上安装了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"
  }
}
Run Code Online (Sandbox Code Playgroud)

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

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

Sub*_*rat 5

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

如果您使用npm@5.2.0或以上版本,请使用npx来访问您的本地依赖项,例如:

? npx knex --version

Knex CLI version:  0.15.0
Local Knex version:  0.15.0
Run Code Online (Sandbox Code Playgroud)

如果npx没有,

? $(npm bin)/knex --version

Knex CLI version:  0.15.0
Local Knex version:  0.15.0
Run Code Online (Sandbox Code Playgroud)

不用说knex init命令在两个选项中都可以使用

? npx knex init

Created ./knexfile.js 
Run Code Online (Sandbox Code Playgroud)


Emi*_*uez 5

要么全局安装knex

npm install -g knex

要么

使用npx knex 它会读取到您的node_modules目录并运行bin / knex可执行文件。


Mer*_*dağ -3

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

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