Проблемы с установкой Express.JS в Windows 7
Я установил Node.js через установщик на своей веб-странице и добавил путь к моей переменной окружения, чтобы я мог использовать node
и npm
через командную строку. Если я создаю экспресс-приложение, оно работает, но я должен создать его вручную.
Это прекрасно, я думаю, но мне было интересно, почему я не могу использовать команду express
? Я получаю
`express` is not recognized as an internal or external command, operable program or batch file.
Я заметил, что экспресс устанавливает в C:\Username\ node_modules вместо того, где я думал, что это произойдет, в C:\Program Files\Nodejs\node_modules. Это проблема?
Ответы
Ответ 1
Хотя это не обязательно проблема, это раздражает, а ошибка - ошибка, даже если вы можете перемещаться по ней.
Хотя вы можете ссылаться на другие модули node, даже если они не находятся в каталоге node, насколько я понимаю, node требует, чтобы модули находились в папке node_modules
в каталоге Nodejs
в чтобы их автоматически найти. (У меня была аналогичная проблема с osx, и этот метод решил ее.)
Попробуйте переместить содержимое
C:\Username\node_modules
в C:\Program Files\Nodejs\node_modules\
В качестве альтернативы,
Вы также можете установить модули по всему миру с помощью
npm install express -g
который позволяет вам получить к ним доступ, не беспокоясь о вашем каталоге node, хотя тогда их более сложно управлять и "вы должны избегать, если сможете".
Из node Блог:
Точно так же, как глобальные переменные являются грубыми, но также необходимыми в некоторых случаях глобальные пакеты важны, но лучше всего избегать, если не необходимо.
В общем, эмпирическое правило:
Если вы устанавливаете что-то, что хотите использовать в своей программе, используя require ('whatever'), затем установите его локально, в корень ваш проект. Если вы устанавливаете что-то, что хотите использовать в ваша оболочка, в командной строке или что-то еще, установите ее по всему миру, поэтому что его двоичные файлы попадают в вашу переменную среды PATH.
Ресурсы
Ответ 2
В более поздних версиях строка express comand была перенесена в отдельный модуль: express-generetor
использовать
npm install -g express-generator @3
и может использовать экспресс-команду
Ответ 3
Вы должны установить экспресс глобально.
npm install express -g
Ответ 4
Установка node.js добавляет каталог C:\Users\\AppData\Roaming\npm\в вашу переменную PATH. Если глобальная установка работает некорректно, что-то должно быть случайно удалено. Выполнение ремонтной установки node.js должно исправить эту проблему.
Ответ 5
Просто хочу добавить следующее: вместо первой установки в глобальном масштабе:
npm install express -g
И затем, перемещая его, как говорится в принятом ответе (что просто глупо), просто установите его в node js:
npm install express
-g для глобального, вы хотите его локально, чтобы NodeJS мог получить к нему доступ.