#node.js #npm #node-modules
#node.js #npm #узлы-модули
Вопрос:
Я не могу найти никаких прямых инструкций по этому поводу. Я установил node.js и npm, затем создал проект в своей собственной папке D:node_stuff
, затем подключился к нему через cd cmd
(Windows 10) и запустил npm install express
, npm init
. Я пытаюсь использовать gifify и установил его зависимости через npm
вместо brew
(ffmpeg, imagemagick, giflossy).
gifify -h
-> ‘gifify’ не распознается как внутренняя или внешняя команда, действующая программа или пакетный файл.node gifify -h
-> Ошибка: не удается найти модуль ‘D:node_stuffgifify ‘cd node_modules
->node gifify -h
-> ничего не происходит
Что я делаю не так? Где мне вообще смотреть — все учебные пособия с простым поиском показывают только, как устанавливать пакеты или создавать проект — мне не нужно ничего создавать, только использовать этот один модуль.
Комментарии:
1. На Mac / Linux, поскольку вы установили пакет локально, а не глобально, вы обычно используете
npx
его для запуска, напримерnpx gifify -h
. Не уверен, что это доступно в Windows, но, пожалуйста, попробуйте.2. @jarmod Хорошо, это сработало — я посмотрю, работает ли остальная функциональность, тогда вы можете опубликовать ее в качестве ответа. Странно, что в нескольких статьях об этом не упоминалось.
3. чтобы добавить его в path, нужно будет сделать
npm i gifify -g
, его в readme
Ответ №1:
Вы можете запустить npx gifify -h
.
Как правило, у вас есть два варианта при установке пакетов NPM:
- установить глобально, например
npm install gifify -g
- установите локально, например
npm install gifify
(илиnpm install
если пакет указан в package.json)
Некоторые пакеты при установке также устанавливают скрипт командной строки. Для глобально установленных пакетов этот сценарий CLI устанавливается в папку, которая находится на вашем пути, и, следовательно, вы можете просто запустить голую команду, например gifify -h
. Для локально установленных пакетов этот сценарий CLI устанавливается локально в node_modules
папке, которой нет на вашем ПУТИ. Для запуска такого скрипта вы можете использовать, например, NPM package executor npx npx gifify -h
. Это, по сути, выполняет локальный скрипт из node_modules/.bin
папки.
Если ваш пакетный скрипт, например gifify
, использует сторонние исполняемые файлы, такие как FFMPEG и ImageMagick, я бы установил их как обычные приложения (которые поместят их на ваш ПУТЬ).
Комментарии:
1. Столкнулся с другими проблемами, но, вероятно, и с другими пользователями: некоторые пакеты не могут быть «найдены» узлом используемым модулем. Например,
npx gifify clip.mp4 -o clip.gif
-. «Не удалось найти ffmpeg. Он установлен?» Да, черезnpm install ffmpeg
, как локально, так и глобально (-g
) . Решение былоchoco install ffmpeg
. Теперь еще одна проблема: «Не удалось найти convert. Он установлен?»choco
на этот раз не сработало, и не сработалоnpm
; какие-либо другие «трюки»?2. Я бы предположил, что gifify выполняет ffmpeg / convert, и поскольку они не находятся на вашем ПУТИ, они не могут их выполнить. Пакет gifify и другие не эмулируют поведение npx. Вы могли бы просто дополнить переменную среды PATH «node_modules .bin», а затем выполнить
gifify -h
илиnpx gifiy -h
(при условии, что ffmpeg находится в node_modules .bin). Что касается меня лично, я бы, вероятно, установил FFMPEG и ImageMagick глобально как автономные исполняемые файлы, а не через NPM, и они были бы добавлены в мой PATH. Кроме того, обратите внимание, что существует собственная программа преобразования Windows, которая является утилитой NTFS.3.
gifify
теперь запускается после перезапуска cmd, ноnode_modules/convert
все еще не найден; есть ли флаг «запуск с отладочной информацией»? «Не найдено» мне мало что говорит4. Считаю, что convert является частью ImageMagick.
5. Да, установка ImageMagick отсюда сработала, и, наконец, я получаю сообщение об ошибке из самой программы, но не тема этого Q amp; A. Спасибо за помощь.