Узнайте, как устранить ошибку NPM. Cp не распознается как внутренняя или внешняя команда, работающая программа или командный файл

Многие разработчики используют плагины и проекты с открытым исходным кодом, чтобы ускорить процесс разработки своих проектов. Иногда многие из этих проектов создавались на платформах на основе Unix (не все используют Windows, мой друг), поэтому, когда вы загружаете проект, например, с использованием Node.js и инструментов для создания подобного NPM, вы обнаружите некоторые проблемы при его использовании в отличная платформа от того, где он был изначально сделан.

В этом случае, если вы видите, что ошибка NPM «cp» не распознается как внутренняя или внешняя команда, проект наверняка был разработан в Mac, Linux и т. Д. Например, если вы попытаетесь запустить команду сборки следующего сценария (package.json):

{
/* Rest of your package.json file */
"scripts": {
"build": "babel-node -- node_modules/webpack/bin/webpack -p --config tools/webpack.config && cp demo\\assets\\js\\form-* dist\\",
},
/* Rest of your package.json file */
}

Это вызовет исключение в Windows, так как команда cp не существует в Windows.

Решение 1

К счастью, проблема заключается только в несовместимости синтаксиса между системами на базе Windows и Unix, поэтому изменение вручную cp команда с copy исправит проблему:

{
/* Rest of your package.json file */
"scripts": {
"build": "babel-node -- node_modules/webpack/bin/webpack -p --config tools/webpack.config && copy demo\\assets\\js\\form-* dist\\",
},
/* Rest of your package.json file */
}

Теперь предыдущая команда должна работать в Windows. Единственной проблемой является ремонтопригодность проекта, поскольку вам всегда нужно будет изменить это, когда вы работаете в Windows, однако это пригодится, если вы работаете только для себя или не собираетесь вносить какие-либо изменения в исходный репозиторий проект.

Решение 2

Вы также можете установить Cygwin в Windows, чтобы обеспечить поддержку команды «cp». Cygwin — это большая коллекция инструментов GNU и Open Source, которые обеспечивают функциональность, аналогичную дистрибутиву Linux в Windows. Самая последняя версия Cygwin DLL до даты публикации этой статьи 2.9.0. Установите его, запустив Настройка-x86.exe (32-битная установка) или Настройка-x86_64.exe (64-битная установка). Используйте программу установки для выполнения новая установка или Обновить существующая установка.

После установки Cygwin, закрытие командной строки и ее перезапуск позволит вам без проблем запустить команду сборки, используя cp команда Unix, так что вам не нужно изменять package.json подать вручную.

Ссылка на основную публикацию
Adblock
detector