2013-09-01 3 views
2

Я новичок в NodeJS. Я пытаюсь использовать npm в Windows 8.«не удается найти модуль» при установке модулей npm на окнах

Я установил с помощью chocolatey, cinst nodejs.install (версия 0.10.17). Я был установлен как администратор (и предпочел бы запустить npm в качестве обычного пользователя).

Сам узел, похоже, работает, я могу использовать REPL для запуска простых программ.

Если я пытаюсь установить что-то с помощью НПМ, я получаю cannot find module:

> node npm install express 

module.js:340 
    throw err; 
     ^
Error: Cannot find module 'C:\Users\Klas\Documents\My Dropbox\mina egna\tech\node\webserver\npm' 
    at Function.Module._resolveFilename (module.js:338:15) 
    at Function.Module._load (module.js:280:25) 
    at Function.Module.runMain (module.js:497:10) 
    at startup (node.js:119:16) 
    at node.js:901:3 

Я прочитал ответы на Nodejs cannot find installed module on Windows?, но, к сожалению, до сих пор неясно мне, что я должен делать.

Я попытался установить NODE_PATH:

  1. Пытаясь следовать this answer, я попытался установить его C:\Users\Klas\AppData\Roaming\npm\node_modules (но я должен был создать как npm и вложенная node_modules сам)
  2. Я попытался создавая папку c:\node\node_module (в соответствии с this advice, хотя установка даже не создала папку c:\node) и установив ее на это.
  3. Я попытался установить его в C:\Program Files\nodejs\node_modules\npm\node_modules (который существовал после установки)
  4. Я также пытался создать node_modules папку ниже текущей рабочей директории. Насколько я понимаю, где будет установлен локальный номер npm?

Ничего из этого не помогло. Так что мне кажется, что настройка NODE_PATH - не решение?

Использование флага -g не имеет значения (я бы предпочел не использовать его).

Я получаю ту же ошибку, что и обычный пользователь и как администратор (я бы предпочел быть обычным пользователем).

я получаю ту же ошибку, независимо от того, где я выполняю команду, за исключением того, когда я делаю это в C:\Program Files\nodejs, где я получаю

basedir=`dirname "$0"` 
    ^
SyntaxError: Unexpected token ILLEGAL 
    at Module._compile (module.js:439:25) 

ответ

3

Не использую окно, но я уверен, что это просто npm install express на окнах слишком.

+1

Doh! Если я делаю «npm install express» внутри REPL, я получаю сообщение «npm должен выполняться за пределами реплики узла в вашей обычной оболочке», которую я интерпретировал как «npm» как подкоманду к «node», поэтому Я запускал 'node npm install express' в' cmd.exe'. Смущающая ошибка новичка. –

+0

Эти другие статьи бросали меня за цикл, поскольку они так много говорили о 'NODE_PATH'. Насколько я могу судить, вам не нужно устанавливать 'NODE_PATH' вообще, если вы довольствуетесь локальными установками (что рекомендуется) –

+0

Ну, есть также модули npm, которые являются просто инструментами командной строки для ежедневного использования (например, простой HTTPServer). Для тех, кто доступен через командную строку, вам нужны они в вашем NODE_PATH. –

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