Подтвердить что ты не робот

Экспресс-команда не найдена в 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

любые идеи?

4b9b3361

Ответ 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