J'ai installé Knex dans mon projet Node et tout est merveilleux et génial ... jusqu'à présent ...

Maintenant, je creuse plus profondément Knex et je suis confronté à des migrations. Tous les documents que j'ai trouvés parlent d'exécuter des commandes telles que «knex migrate: latest», etc. commande inconnue.

Je ne suis pas un expert npm et Nodes, juste assez pour faire fonctionner les bases. En creusant dans le package de nœuds knex, je trouve une configuration pour un fichier cli.js sous une section «bin» dans le «package.json». Je ne comprends pas ces configurations, même la lecture de la documentation npm sur cette section «bin» ne me le rend pas plus clair.

Alors voici ma question: je suis sous Windows 10 et j'ai installé un package comme «knex» local sur mon projet. Knex est livré avec un cli. Que dois-je faire pour appeler ce cli depuis ma console?

7
Andreas 23 mai 2018 à 14:28

3 réponses

Meilleure réponse

Vous pouvez trouver le client de node_modules/.bin/knex si vous n'avez pas installé knex globalement (ce que je ne recommande pas).

Lorsque vous installez des packages localement dans un répertoire, tous les exécutables "bin" sont automatiquement liés sous node_modules/.bin. Si vous utilisez ces scripts à partir de scripts package.json, npm ajoute automatiquement node_modules/.bin au chemin, donc dans le package json, vous n'avez pas besoin de faire référence à node_modules/.bin/knex mais juste knex suffit.

7
Mikael Lepistö 23 mai 2018 à 11:53

Tapez d'abord "npx knex" pour accéder aux options et commandes disponibles pour le module knex. Pour pouvoir utiliser le cli Knex qui l'accompagne, vous devez ensuite accéder au module knex depuis le chemin à partir duquel vous souhaitez créer le fichier. Par exemple, disons que j'étais dans le répertoire migrations et que le dossier node_modules est un chemin plus haut, j'accéderais au module Knex de cette manière '../node_modules/.bin/knex migrate: make create-user-table.js 'pour pouvoir créer un fichier de migration' create-user-table.js '. J'espère que je suis assez clair.

2
chigozie okolie 31 mai 2019 à 12:33

Si knex est installé dans votre projet, vous pouvez le rendre disponible pour une utilisation via votre shell en ajoutant un script simple à votre package.json.

"scripts": {
  "knex": "knex"
}

Vous pouvez maintenant utiliser le cli knex avec npm run knex ou, si vous utilisez yarn, yarn knex.

0
i.am.diogo.silva 14 mai 2020 à 23:39