Как использовать Knex CLI - PullRequest
0 голосов
/ 23 мая 2018

Я установил Knex в свой проект Node, и все замечательно и здорово ... пока ...

Теперь я копаю глубже в Knex и сталкиваюсь с миграциями.Все документы, которые я нашел, говорят о запуске таких команд, как «knex migrate: latest» и т. Д. В результате, когда я пытаюсь запустить такие команды из командной строки (Windows), возникает ошибка, сообщающая, что «knex» являетсянеизвестная команда.

Я не являюсь экспертом по npm и Nodes, достаточно, чтобы запустить основы.При копании в пакет узла knex я нахожу некоторую конфигурацию для файла cli.js в разделе «bin» в «package.json».Я не понимаю этих конфигураций, даже чтение документации npm об этом разделе 'bin' не делает его более понятным для меня.

Итак, вот мой вопрос: я нахожусь на Windows 10 и установил пакет типа 'knex'локально для моего проекта.Knex поставляется с кли.Что мне нужно сделать, чтобы вызвать этот cli с моей консоли?

Ответы [ 2 ]

0 голосов
/ 31 мая 2019

Сначала введите «npx knex», чтобы получить доступ к опциям и командам, доступным для модуля knex.Чтобы иметь возможность использовать Knex cli, который поставляется в комплекте с ним, вам необходимо получить доступ к модулю knex по любому пути, по которому вы собираетесь создать файл.Например, допустим, что я находился в каталоге migrations, а папка node_modules на один путь выше, я хотел бы получить к нему доступ к модулю Knex следующим образом: ../node_modules/.bin/knex migrate: make create-user-table.jsчтобы иметь возможность создать файл миграции «create-user-table.js».Я надеюсь, что я достаточно ясно.

0 голосов
/ 23 мая 2018

Вы можете найти клиента из node_modules/.bin/knex, если вы не установили knex глобально (что я не рекомендую).

Когда вы устанавливаете пакеты локально в какой-либо каталог, все исполняемые файлы binсвязаны автоматически под node_modules/.bin.Если вы используете эти сценарии из сценариев package.json, npm автоматически добавляет node_modules/.bin к пути, поэтому внутри пакета json вам не нужно ссылаться на node_modules/.bin/knex, но достаточно просто knex.

...