Экспресс-команда не найдена в bash после установки с npm
только что установил новый ubuntu vm для тестирования с помощью node
установленные вещи в этом порядке:
node
mongodb-server
npm
express
mongoose
Теперь, пытаясь создать новое приложение, я заметил, что выражение не может быть использовано в оболочке.
express -v
возвращает
express: команда не найдена
я установил npm как это
curl http://npmjs.org/install.sh | sudo sh
и я установил этот способ
npm install express
любые идеи?
Ответы
Ответ 1
npm install express -g
Вам нужно установить его глобально.
Npm 1.0 устанавливает модули локально по умолчанию. Таким образом, исполняемый файл bash живет в /node_modules/bin/
. Вы можете добавить эту папку в PATH
или просто установить express
глобально, чтобы она подхватила PATH
Ответ 2
Начиная с express 4.00, вам также необходимо установить экспресс-генератор с помощью
npm install -g express-generator
Только после этого вы сможете запустить экспресс как команду!
Для подтверждения см. ExpressJS.com - переход на Express 4
Ответ 3
У меня была эта проблема и я устанавливал node через Homebrew. Проблема была вызвана доморощенным.
Итак, я сделал:
brew uninstall node
а затем установите node с помощью установщика на nodejs.org сайте.
Затем я побежал:
npm install -g express
И нет никаких проблем.
Ответ 4
РЕДАКТИРОВАТЬ 2017-06-29: этот ответ 6+ лет, но все равно получает голоса/трафик. Вместо этого (для любых новых пользователей с проблемами) я бы доверял NODE_PATH
официальный документ и соответствующий бит об использовании REPL перед этим ответом.
Совсем аналогично этой проблеме, node не обнаружил мою глобальную экспресс-установку, поэтому оператор require('express')
потерпит неудачу.
Что исправлено для меня, когда глобальная установка не была подхвачена с помощью node, он убедился NODE_PATH
env. переменная была установлена правильно.
На Ubuntu 11.04, с node версией 0.5.0-pre, пути меня были:
NODE_PATH=/usr/local/lib/node_modules:/usr/local/lib/node
Итак, чтобы уточнить, вы можете экспортировать вышеуказанные env. переменная, или вы можете просто проверить приведенные выше значения, выполнив:
NODE_PATH=/usr/local/lib/node_modules:/usr/local/lib/node node ./you_app.js
Ответ 5
С выпуском Express 4.0.0, похоже, вам нужно сделать sudo npm install -g express-generator.
Ответ 6
ЕСЛИ вы работаете с окнами:
export NODE_PATH="C:\Users\IMarek\AppData\Roaming\npm\node_modules"
Ответ 7
Мне пришлось сделать комбинацию вещей:
1) От node.js путь к модулю:
echo 'export NODE_PATH="'$(npm root -g)'"' >> ~/.bash_profile && . ~/.bash_profile
Указывает путь к файлу в профиле bash (можно просмотреть с помощью nano .bash_profile
2) Немного изменен из Raynos (выше), так как мне понадобилось sudo
:
sudo npm install express -g
3) Немного изменен от Fazi (выше 0, так как мне нужно sudo
:
sudo npm install -g express-generator
ИСПЫТАТЬ ВАШЕ ПРИМЕНЕНИЕ: запустить DEBUG=myapp:* npm start
Ссылка: http://expressjs.com/en/starter/generator.html