2013-04-28 1 views
3

[Работа на Windows, с узлом 0.10.5]Node.js терпит неудачу распознавание нового модуля

Я пытаюсь построить что-то простое с грозным модулем для узла. Я установил его глобально -

npm install -g formidable 

npm http GET https://registry.npmjs.org/formidable 
npm http 304 https://registry.npmjs.org/formidable 
npm WARN engine [email protected]: wanted: {"node":"<0.9.0"} (current:{"node":"v0.10.5","npm":"1.2.18"}) 
[email protected] C:\Users\me\AppData\Roaming\npm\node_modules\formidable 

Теперь модуль был правильно установлен в упомянутой выше директории, но узел не распознает его:

D:\Work\Node\Test4>node index.js 

module.js:340 
    throw err; 
    ^
Error: Cannot find module 'formidable' 
     Blah blah blah 

Теперь мои вопросы:

  1. Исключительно не известно из-за версии?
  2. Если нет, то какая причина этого не может быть признана?
  3. Если да, могу ли я сделать что-нибудь об этом, кроме узла понижения или ждать новой грозной версии?
+0

Как вам требуется()? – jgillich

+0

var formidable = require ("грозный"); –

+0

Я выяснил, что если я копирую node_modules в корневой каталог проекта, он работает. Но если это так, то в чем смысл глобальной установки? –

ответ

4

В прошлом, когда у меня были подобные проблемы, это было связано с NODE_PATH. Я предполагаю, что ваш путь C:\Users\me\AppData\Roaming\npm\node_modules\formidable не находится в NODE_PATH, поэтому, хотя он установлен «глобально», ваша установка не может его увидеть.

См. Официальную документацию о loading from the global folders, а также проверку значения NODE_PATH с помощью команды SET в командной строке Windows.

+0

Действительно, мой NODE_PATH не был установлен. Благодаря! –

+0

Рад, что это помогло. Я также хотел бы предложить вам рассмотреть, почему вы хотите установить глобальную установку, как указано в других комментариях. Разумное правило, которое я нашел несколько раз здесь, и на других узлах узла, «устанавливает локально для приложений, ориентированных на внешний вид, устанавливайте глобально для утилит командной строки на основе узла». –

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