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

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

C:\Users\Nick\Desktop\turntablefm\Bots\Super Bot>node bot.js

node.js:201
        throw e; // process.nextTick error, or 'error' event on first tick
              ^
Error: Cannot find module 'mongoose'
    at Function._resolveFilename (module.js:334:11)
    at Function._load (module.js:279:25)
    at Module.require (module.js:357:17)
    at require (module.js:368:17)
    at Object.<anonymous> (C:\Users\Nick\Desktop\turntablefm\Bots\Super Bot\db.j
s:1:78)
    at Module._compile (module.js:432:26)
    at Object..js (module.js:450:10)
    at Module.load (module.js:351:31)
    at Function._load (module.js:310:12)
    at Module.require (module.js:357:17)

Я уже установил его с помощью установки npm, и я попытался переустановить, но это не сработало никаких идей?

4b9b3361

Ответ 2

Вы можете сделать одно из двух действий, чтобы запустить: -

1) Установить mongoose глобально с помощью следующих шагов: -

а) npm install mongoose -g

b) Перейдите в каталог приложений, где находится bot.js, а затем запустите

npm link mongoose

Объяснение: - Когда вы устанавливаете пакет по всему миру через npm, он загружается в глобальную папку node_module. Для меня (пользователь Mac) он находится под /usr/local/lib/ node_modules/mongoose. Мы связываем это с тем каталогом, из которого вы пытаетесь запустить module.js.

2) Другой подход - установить локальную локальную локальную сеть, а не глобально через

npm install mongoose

После выполнения любого из этих действий вы увидите папку node_modules → mongoose в каталоге "bot.js", что означает, что mongoose был успешно установлен.

Теперь запустите node bot.js, он будет работать.

Ответ 3

Установите с помощью опции --save:

npm install mongoose --save

Это добавляет mongoose к package.json, который Heroku использует для создания вашего приложения.

Ответ 4

Вам нужно вызвать в командной строке

npm install mongoose

не забудьте вызвать эту команду из корневого пути вашего проекта

Ответ 5

npm install mongoose

он будет работать, и если все будет в порядке, вы получите следующее в терминале

[email protected] node_modules/mongoose
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected] ([email protected], [email protected], [email protected])
└── [email protected] ([email protected], [email protected], [email protected])

Ответ 6

У меня была такая же проблема на моем Mac, и я сделал поиск в центре внимания и обнаружил, что mongoose установлен в /usr/local/ node_modules (когда я запускал npm install mongoose). Перемещение папки mongoose в ~ (home) node_modules, где npm поддерживается для фактической установки исправленной моей проблемы.

Ответ 7

npm install создает "node_modules" в pwd (настоящий рабочий каталог)

по мере роста вашего приложения число растущих модулей и лучший подход - поддерживать package.json(ссылка: fooobar.com/questions/246197/...), а затем выдавать только "npm install" вместо установки каждого.

Как расширение при развертывании приложения на таких платформах, как Heroku, вы можете игнорировать (git игнорировать) свой огромный каталог node_modules вашего проекта. Heroku устанавливает ваши зависимые модули, читая ваш package.json

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

Ответ 8

Если вы уже установили mongoose по всему миру (npm install -g mongoose), тогда сделайте

% npm link mongoose

в каталоге проекта. Это сработало для меня.

Ответ 9

в каталоге bot.js, есть ли папка node_modules, в которой есть папка mongoose? Работает ли ваш сервер mongodb?

Вы можете протестировать его также, находясь в корневом каталоге проекта, вызывая node (без аргументов, чтобы открыть REPL) и пытаться найти там мангуст.

Ответ 10

Вы используете операционную систему Windows, которую mongoose не поддерживает. Из этого сообщения об ошибке видно:

C:\>npm install mongoose
npm http GET https://registry.npmjs.org/mongoose/2.5.10
npm http 304 https://registry.npmjs.org/mongoose/2.5.10
npm http GET https://registry.npmjs.org/hooks/0.2.0
npm http GET https://registry.npmjs.org/mongodb/0.9.9-4
npm http 304 https://registry.npmjs.org/mongodb/0.9.9-4
npm http 304 https://registry.npmjs.org/hooks/0.2.0
npm WARN package.json [email protected] No README.md file found!
npm ERR! notsup Unsupported
npm ERR! notsup Not compatible with your operating system or architecture: mongo
[email protected]
npm ERR! notsup Valid OS:    linux,darwin,freebsd
npm ERR! notsup Valid Arch:  any
npm ERR! notsup Actual OS:   win32
npm ERR! notsup Actual Arch: x64

npm ERR! System Windows_NT 6.1.7601
npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nod
ejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "mongoose"
npm ERR! cwd C:\
npm ERR! node -v v0.8.18
npm ERR! npm -v 1.2.2
npm ERR! code EBADPLATFORM
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     C:\npm-debug.log
npm ERR! not ok code 0

Ответ 11

на окнах, если вы делаете

npm install mongoose

он установит его по умолчанию на ваш C:\Drive

и если вы попытаетесь запустить некоторый файл *.js, скажем, D:\drive

он даст вам ту же ошибку.

поэтому я думаю, что каталог установки и файл *.js должны иметь один и тот же корень.

Ответ 12

Из doc/blog

В общем, эмпирическое правило:

Если вы устанавливаете что-то, что хотите использовать в своей программе, используя require ('whatever'), затем установите его локально, в корень ваш проект.

Если вы устанавливаете что-то, что хотите использовать в ваша оболочка, в командной строке или что-то еще, установите ее по всему миру, поэтому что его двоичные файлы попадают в вашу переменную среды PATH.

Ответ 13

Просто откройте папку вашего проекта в командной строке и выполните команду ниже, чтобы можно было добавить зависимость mongoose в файл package.json. Я на 100% уверен, что вы больше не получите такую ошибку.

$ sudo npm install --save мангуст