2013-08-13 2 views
0

У меня был модуль установки mongoskin (sudo npm install mongoskin -g) - Успешная установка.Проблема с узлом-монгоскин на OS X 10.8

Когда я пытаюсь запустить мой index.js с (supervisor index.js), есть эта ошибка:

module.js:340 
throw err; 
^ 
Error: Cannot find module 'mongoskin' 
at Function.Module._resolveFilename (module.js:338:15) 
at Function.Module._load (module.js:280:25) 
at Module.require (module.js:364:17) 
at require (module.js:380:17) 
at Object. (/Users/smithua/Documents/uezo.pro/dnode-node/im.js:5:13) 
at Module._compile (module.js:456:26) 
at Object.Module._extensions..js (module.js:474:10) 
at Module.load (module.js:356:32) 
at Function.Module._load (module.js:312:12) 
at Module.require (module.js:364:17) 
DEBUG: Program node index.js exited with code 8 

ls -la /usr/local/lib/node_modules/:

0 drwxr-xr-x 14 smithua staff 476 Jul 30 18:53 dnode 
0 drwxr-xr-x 7 smithua staff 238 Jul 31 11:40 jshint 
0 drwxr-xr-x 10 smithua staff 340 Jul 31 11:00 jslint 
0 drwxr-xr-x 17 smithua staff 578 Aug 12 16:48 mongoskin 
0 drwxr-xr-x 15 smithua staff 510 Jul 30 16:40 mysql 
0 drwxr-xr-x 20 smithua staff 680 Jul 31 11:09 npm 
0 drwxr-xr-x 19 smithua staff 646 Jul 31 03:56 promised-io 
0 drwxr-xr-x 6 smithua staff 204 Jul 30 16:40 supervisor 

ответ

0

Вы должны установить модуль локально, а не глобально. Это означает, что вы должны NOT использовать опцию -g при установке с использованием npm.

В Node.js в основном каждое приложение должно иметь все свои зависимости в локальной папке node_modules. Это достигается путем установки узла-mongoskin с помощью:

$ npm install mongoskin 

Глобальной установка только для обеспечения общесистемных двоичных файлов, таких как отладчик, инструмент тестирования или загрузчике от Express. Это означает, что когда вы устанавливаете модуль по всему миру, вы можете вызывать его двоичные файлы всюду в вашей системе, но для работы приложения вам необходимо установить его локально.

Для приложений модули, установленные на глобальном уровне, вообще не имеют значения (и это показывает команда ls: глобально установленные модули).

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

PS: Обратите внимание, что это различие между локальными и глобальными установками относится к любому модулю, а не только к монгоскину.

PPS: Возможно, вы захотите проверить файл package.json, в который вы можете поместить свои зависимости, чтобы вы могли автоматически установить их сразу, используя простой npm install. Чтобы интерактивно создать такой файл package.json, см. Команду npm init.

PPPS: Пожалуйста, также см. Мой ответ на Getting error while using Express with Node.js, это может помочь вам понять, что все это значит.

+0

Я отвечу автору. Это не решает проблему. Это хорошее решение, но проблема остается нерешенной. – RomanGorbatko

+1

@Golo Roden спасибо – smithua

Смежные вопросы