Установка Узла.js (и npm) в Windows 10



У меня были некоторые проблемы, пытаясь установить узел на Windows 10 и нашли решение.



ошибка была следующей:




C:UsersStephan > npm

Ошибка: ENOENT, stat 'C:UsersStephanAppDataRoamingnpm -




Решение ниже.

1046   8  

8 ответов:

Edit: Похоже, что у новых установщиков больше нет этой проблемы, см. ответ by Параг Meshram как мой ответ, вероятно, устарел сейчас.

оригинальный ответ:

внимательно выполните следующие действия:

  • http://nodejs.org/download/ загрузите 64-битную версию, 32 - для хипстеров
  • установить его в любом месте вы хотите, по умолчанию: C:\Program Files\nodejs
  • Панель управления - > Система - > расширенные Системные настройки - > Переменные среды
  • выберите PATH и выберите его для редактирования.

если переменная пути empty меняем на это: C:\Users\{YOUR USERNAME HERE}\AppData\Roaming\npm;C:\Program Files\nodejs

если переменная PATH уже содержит C:\Users\{YOUR USERNAME HERE}\AppData\Roaming\npm добавьте следующее сразу после: ;C:\Program Files\nodejs

если переменная PATH содержит информацию, но ничего не касается npm, добавьте это в конец пути: ;C:\Users\{YOUR USERNAME HERE}\AppData\Roaming\npm;C:\Program Files\nodejs

теперь, когда переменная PATH установлена правильно, вы все равно будете сталкиваться с ошибками. Вручную перейдите в каталог AppData, и вы обнаружите, что внутри роуминга нет каталога npm. Создайте этот каталог вручную.

повторно запустите командную строку, и теперь npm будет работать.

перейти к http://nodejs.org/

и нажмите на кнопку с надписью "скачать ..."

Это скачаю .msi (или .pkg для mac), который будет делать все установки и пути для вас, в отличие от выбранного ответа.

в дополнение к ответу от @StephanBijzitter я бы использовал следующее PATH вместо переменных:

%appdata%\npm
%ProgramFiles%\nodejs

ваш PATH будет выглядеть так:

[existing stuff];%appdata%\npm;%ProgramFiles%\nodejs

это имеет то преимущество, что neiter зависит от пользователя и не зависит от 32/64bit.

новые монтажники (.msi загружено с https://nodejs.org) есть опция" добавить в путь". По умолчанию он выбран. Убедитесь, что вы оставили его проверенным.

Add to PATH

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

  1. запустить командную строку от имени администратора
  2. каталог cd, где присутствует msi-файл
  3. запустите msi-файл, введя имя в командной строке
  4. вы должны быть рады видеть, что все команды узла работают из новой оболочки командной строки

У меня была та же проблема, что помогло нам превратить мою антивирусную защиту в течение 10 минут, пока установлен узел, и он работал как шарм.

все должно быть установлено в %appdata% (C:\Users\\AppData\Roaming), а не "программные файлы".

вот почему...

установщик MSI по умолчанию помещает узел и NPM, который поставляется с ним в "program files", и добавляет его в системный путь, но он устанавливает путь пользователя для NPM в %appdata% (c:\users[username]\appdata\roaming), так как у пользователя нет достаточных привилегий для записи в "program files".

Это создает беспорядок, так как все модули идут в %appdata%, и когда вы обновляете сам NPM - который сами NPM рекомендуют вам сделать сразу - вы получаете две копии: оригинал все еще в "program files", так как NPM не может стереть это, и новый inn %appdata%.

еще хуже, если вы ошибочно выполняете операции NPM как администратор (гораздо проще в Windows, чем на *nix), то он будет работать на копии "program files" npm node_modules. Потенциально настоящий бардак.

Итак, при запуске установщика просто укажите его на %AppData% и избежать всего этого.

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

причина, по которой вы должны изменить AppData может быть:

  1. узел.js не мог обрабатывать путь дольше, чем 256 символов, окна, как правило, имеют очень длинный путь.
  2. если вы входите в систему из корпоративной среды, ваши AppData могут быть на сервере-это не сработает. Каталог npm должен находиться на локальном диске.

даже после этого у последнего LTE (4.4.4) все еще есть проблема с Windows 10, он работал некоторое время, а затем всякий раз, когда я пытаюсь:

$ npm install _some_package_ --global 

узел выдает ошибку" неустранимая ошибка CALL_AND_RETRY_LAST Allocation failed - process out of memory". Все еще пытаются найти решение этой проблемы.

единственное, что я нахожу, это запустить Vagrant или Virtual box, а затем запустить командную строку Linux (должен соответствовать пути), что является довольно грязным решением.

Comments

    Ничего не найдено.