Node.js, Ошибка: не удается найти модуль 'express'

Я новичок в node.js, попробуйте научиться выражать свое первое веб-приложение. застрял на моем самом первом примере кода. нужна помощь, чтобы заставить его работать. Прежде чем я опубликую этот вопрос, я просмотрел переполнение стека, нашел некоторые подобные вопросы, но не смог его исправить.

Ошибка: не удается найти модуль 'express'

Я использую mac os 10.8.2. У меня есть node.js, установленный с помощью nvm.

node.js: 0.8.20 путь к node:/Users/feelexit/nvm/v0.8.20/bin/nodeпуть для выражения:/Пользователи/feelexit/nvm/node_modules/express

здесь мой пример кода: этот файл находится по адресу:

/Users/feelexit/WebstormProjects/learnnode/node_modules/index.js

var express = require('express');

var app = express();

app.get('/', function(req, res){

    res.send('welcome to express');
});

app.listen(3000);

когда я пытаюсь запустить этот файл node index.js "

Я получаю следующее сообщение об ошибке, пожалуйста, помогите мне исправить это. спасибо.

Error: Cannot find module 'express'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:362:17)
    at require (module.js:378:17)
    at Object.<anonymous> (/Users/feelexit/WebstormProjects/learnnode/node_modules/index.js:1:81)
    at Module._compile (module.js:449:26)
    at Object.Module._extensions..js (module.js:467:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.runMain (module.js:492:10)
feelexits-Mac:node_modules feelexit$ 

Обновить, чтобы ответить на chovy вопрос:

feelexits-Mac:~ feelexit$ npm install
npm ERR! install Couldn't read dependencies
npm ERR! Error: ENOENT, open '/Users/feelexit/package.json'
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <[email protected]>

npm ERR! System Darwin 12.2.0
npm ERR! command "/Users/feelexit/nvm/v0.8.20/bin/node" "/Users/feelexit/nvm/v0.8.20/bin/npm" "install"
npm ERR! cwd /Users/feelexit
npm ERR! node -v v0.8.20
npm ERR! npm -v 1.2.11
npm ERR! path /Users/feelexit/package.json
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /Users/feelexit/npm-debug.log
npm ERR! not ok code 0

Ответ 1

В нем говорится

 Cannot find module 'express'

У вас есть установленная функция? Если нет, запустите это.

 npm install express

И запустите свою программу еще раз.

Ответ 2

После того, как вы выразите в своем терминале, сделайте

 npm install

Чтобы установить все зависимости.

Затем вы можете сделать приложение node для запуска сервера.

Ответ 3

Проверьте, установлен ли модуль express. Если нет, используйте следующую команду:

npm install express

и если ваш каталог node_modules находится в другом месте, установите переменную NODE_PATH envirnment:

set NODE_PATH=your\directory\to\node_modules;%NODE_PATH%

Ответ 4

npm install из каталога вашего приложения будет исправлять проблему, поскольку она будет устанавливать все необходимое

Ответ 5

Выкапывая старый поток здесь, но у меня была такая же ошибка, и я решил, перейдя в каталог, в котором находится мой NodeApp и работает npm install -d

Ответ 6

У вас есть экспресс-модуль, расположенный в другой директории, чем ваш проект. Вероятно, это проблема, так как вы пытаетесь локально require(). Попробуйте переместить свой экспресс-модуль из /Users/feelexit/nvm/node_modules/express в /Users/feelexit/WebstormProjects/learnnode/node_modules/express. Эта информация может предоставить вам более подробную информацию о структурах файлов node_module.

Ответ 7

если основной файл youre находится в /Users/feelexit/WebstormProjects/learnnode/node_modules/index.js, тогда выражение должно быть расположено at /Users/feelexit/WebstormProjects/learnnode/node_modules/node_modules, поскольку node всегда ищет модули в ./node_modules (и его внутреннюю папку) когда путь не начинается с ./ или / (подробнее здесь)

Я думаю, вы пропустили основной файл youre в папке модуля

Ответ 8

для этого сценария выполните команду npm install express, используя команду cmd для соответствующей папки, в которой вы хотите запустить программу. Пример. Я хочу запустить программу экспресс-модуля server.js в F:\nodeSample. Поэтому запустите "npm install express" в этой конкретной папке, затем запустите server.js

Ответ 9

Если вы не установите Node_PATH, единственным вариантом будет установка express в каталоге приложения, например npm install express --save. Express может быть уже установлен, но node не может найти его по какой-либо причине

Ответ 10

npm ERR! Error: ENOENT, open '/Users/feelexit/package.json'

Это происходит из-за отсутствия разрешений или несвязанных файлов во время работы npm.

Значение, выполняющее npm, поскольку этот пользователь не имеет достаточных прав для чтения/записи из файла, в этом случае package.json.

попробуйте добавить sudo перед всей командой - он должен решить.

$ sudo npm install -g express
$ Password:*******

Пароль будет вашим паролем администратора вашего Mac.

Флаг

-g установит этот модуль (экспресс) в глобальном контексте node - значит node будет/должен распознавать модуль express из любого js файла без необходимости предоставления полного пути к модулю в использовании.

Надеюсь, это поможет!

Ответ 11

У меня была та же проблема. Моя проблема заключалась в том, что перед установкой express я должен перейти в каталог проекта Node.js в командной строке.

cd /Users/feelexit/WebstormProjects/learnnode/node_modules/

Ответ 12

Я предполагаю, что это курсовая работа из курса Colt Steele Web Development... Я искал тот же ответ, почему я тоже закончил эту ошибку. Кольт не говорит об этом, но вы берете node_module и перейдите в новую папку, в которой вы работаете... что то, что сработало для меня.

Ответ 13

Запустите команду npm install express body-parser cookie-parser multer --save в том же каталоге с исходным кодом nodejs, чтобы решить эту проблему. P/s: проверьте свою директорию после запуска, чтобы понять больше!

Ответ 14

В редких случаях кеш npm может быть поврежден. Для меня работала:

npm cache clean --force

Как правило, диспетчер пакетов будет обнаруживать коррупцию и повторный набор самостоятельно, поэтому это обычно не требуется. Однако в моем случае Windows 10 разбилась несколько раз, и я подозреваю, что это могло быть во время операции выборки. Надеюсь, это поможет кому-то!

Дополнительная информация: https://docs.npmjs.com/cli/cache