Nvm-windows: ОШИБКА при открытии \settings.txt:

Созданный на 21 нояб. 2014  ·  57Комментарии  ·  Источник: coreybutler/nvm-windows

После процесса установки я просто запустил «npm», и он говорит:

ОШИБКА открыть \settings.txt: [...]

Самый полезный комментарий

Я была такая же проблема. https://github.com/coreybutler/nvm-windows/issues/23 Комментарий @colmsjo решил эту проблему для меня.

Просто удалите %NVM_HOME% и NVM_SYMLINK из переменных окружения _user_.

Все 57 Комментарий

Существует ли файл настроек в вашем каталоге установки?

Под каталогом установки подразумевается папка, в которой находится установленное приложение или где находится установщик?

Куда идет установленное приложение... по умолчанию это C:\Users\<yourusername>\AppData\Roaming\nvm . Это должно выглядеть примерно так:

image

Основные файлы, которые нужно искать, это elevate.cmd , elevate.vbs , nvm.exe и settings.txt , а также nodejs.ico (это просто значок, он не обеспечивает никакой функциональности).

Если settings.txt не существует, возможно, он не был создан в процессе установки. Программа установки должна сделать это за вас, а ручная установка — нет. Если вы использовали установщик и не видите файл settings.txt , то, вероятно, в установщике есть ошибка, которую мне было бы интересно отследить и исправить.

Файл настроек должен содержать примерно следующее содержимое:

root: C:\Users\Corey\AppData\Roaming\nvm
path: C:\Program Files\nodejs

Привет, это случилось и со мной. После завершения установки он открыл cmd.exe, а cmd.exe открылся с этим сообщением об ошибке.

settings.txt действительно существует в моей папке установки.

Когда я просматриваю свою новую переменную пути, она имеет это в конце: "[...мои предыдущие пути...];%NVM_HOME%;%NVM_SYMLINK%"

Итак, похоже, что эти %variables% не оцениваются в реальных каталогах, прежде чем добавлять их к пути поиска во время установки? Когда я вручную добавляю нужные каталоги в свой путь, кажется, что это работает, хотя я новичок в node.js, поэтому я пока очень мало понимаю, о чем говорю.

@bobbycircle - Возможно, переменные не оцениваются в нужное время ... Мне нужно это изучить. Я не думал об этом раньше, потому что... ну, это работало, и я не менял эту часть установщика. Я посмотрю на это, как только смогу.

То же самое здесь. Согласно @bobbycircle , ручная настройка моей переменной PATH помогла разобраться.

Столкнулся с такой же ошибкой после установки. В Windows 8+ вам нужно создать новое окно cmd, чтобы увидеть оцененные переменные среды %nvm_home% и %nvm_symlink%. Это изменение с Win 7 на 8, где существующая оболочка проводника Windows не может создать новый процесс и увидеть новые переменные среды. Если вы запускаете cmd.exe из Проводника, вам нужно сначала закрыть Win Explorer и перезапустить его, чтобы увидеть новые переменные Env.

@dan-sterling - я не сталкивался с этим в Windows 8 (для которой я это разработал). Именно поэтому также устанавливаются пользовательские атрибуты, тогда оболочка cmd подхватит путь. Хотя это не имеет значения — я создаю совершенно новый установщик для решения этих проблем.

Получил ту же проблему. Более того, создание файла settings.txt в этом каталоге не помогло. Мне нужно было создать его в ~

Я была такая же проблема. https://github.com/coreybutler/nvm-windows/issues/23 Комментарий @colmsjo решил эту проблему для меня.

Просто удалите %NVM_HOME% и NVM_SYMLINK из переменных окружения _user_.

Та же проблема здесь. Я следовал решению @queckezz , оно работает.

У меня также возникает эта проблема каждый раз, когда я его устанавливаю, я думаю, что запуск cmd.exe в конце установки - не очень хорошая идея, так как он может слишком часто давать сбой, создавая плохое первое впечатление об инструменте.

Я бы предпочел не запускать cmd.exe и просить пользователя закрыть сеанс Windows, открыть новый, а затем попробовать nvm в окне командной строки.

Также столкнулся с этой проблемой при запуске установщика 1.0.6. Windows 8, запускал установщик от имени администратора. file.exe не было на моем пути. Установка GnuWin32 также не решила проблему. Node еще не был установлен.

Я мог бы скопировать settings.txt в c:\ .

Решение @bobbycircle сработало для меня.

Я тоже столкнулся с этой проблемой (Windows 8.1). Закрытие и перезапуск командной строки не помогло (может процесс еще запущен - не проверял). По наитию я перезапустил винду. Проблема решена: не нужно возиться с установщиком PATH vars. Попробуй, прежде чем что-то менять
@coreybutler - также может быть хорошим средством защиты от сбоев для установщика: инициируйте перезагрузку в конце, «чтобы ваши изменения вступили в силу», чтобы устранить некоторые различия в пользовательской среде.

Иногда при настройке переменных окружения такое может случиться :+1:

  • Вы не нажали кнопку "ОК" в окне "Редактировать переменную среды"
    Ага. Это может показаться глупым, но на самом деле я потратил много времени, меняя переменные и перезапуская PowerShell, и ничего не происходило... пока я не закрыл это окно! Нажатие кнопки «ОК» ОЧЕНЬ важно, если вы закроете окно или отмените, ваши изменения будут отменены. Затем просто перезагрузите свой термин.
  • Ваш термин может быть ошибочным, попробуйте другой.
    Если вы используете Github для Windows и Git, у вас может получиться 3 термина (PowerShell, Git Shell, Git Bash). У каждого термина может быть свое окружение, и настройка значений ничего не решит. Попробуйте PowerShell или cmd.exe (термины ванильных окон) раньше.

Только что столкнулся с этим на Windows 8.

запустите свой терминал cmd от имени администратора

Возможно ли, что это не удалось, потому что установка не удалась... из-за пробела в папке User ? Это происходит в ошибке/проблеме № 41, так что, может быть, это происходит и здесь?

Решение @queckezz сработало

Решение @queckezz сработало. Спасибо

У меня была эта проблема.

Установщик запускался с повышенными привилегиями (требуется для установки).
Сеанс cmd, который он запускал, также запускается с повышенными привилегиями, но отказывается видеть настройки .txt

Перезапуск командной строки без прав администратора прекрасно видел settings.txt, и теперь nvm также работает нормально в сеансе администратора, запущенном в качестве администратора.

Решение @queckezz также сработало для меня. Спасибо

Решение @queckezz сработало +1

У меня такая же проблема. Проблема заключалась в том, что «C:\Program Files\nodejs» находился в моем пользовательском пути прямо перед новыми переменными ;%NVM_HOME%;%NVM_SYMLINK%.

В моем случае (Windows 7 и Windows 8.1) такое явление возникает сразу после установки.
Если я перезагружаюсь после установки, nvm для windows работает нормально

+1 за @sanori и перезагрузку после исправления установки

Проблема в том, что PATH не был правильно обновлен, а это означает, что в моем случае я обнаружил, что значение PATH равно ...";%NVM_HOME%;%NVM_SYMLINK% . Эти ... являются существующими записями, но перед точкой с запятой были добавлены двойные кавычки.

Как только это было исправлено, PATH = ...;%NVM_HOME%;%NVM_SYMLINK% все работает корректно.
Вам не нужно копировать settings.txt в C:, D: или любой другой диск, который вы используете при запуске инструмента nvm.

Я также заметил %vars% на своем пути, но к тому времени вернулся к установке только активной версии Node, поэтому просто удалил их.

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

Настройка env vars в Windows работает отлично. Вы даже можете сделать это из powershell:

[System.Environment]::SetEnvironmentVariable("MYVAR", "WHATEVER", "Machine")

Я исправил эту проблему, перейдя в %AppData%/nvm и изменив безопасность файла settings.txt , чтобы Everyone имел полный доступ к файлу.

Если вы предпочитаете не делать этого, вы также можете попробовать запустить nvm из командной строки с повышенными привилегиями. Использование запуска от имени администратора.

После того, как это не сработало из изначально загруженного «Выполнить Cmd». Я загрузил cmd администратора и запустил список nvm , который сработал. Затем, когда я вернулся к обычному окну cmd, он продолжал работать.

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

Я установил это, и все, что нужно было сделать, это перезапустить окна. У меня такое ощущение, что cmd просто нужно сбросить с новыми переменными среды.

Та же проблема здесь. Я следовал решению @queckezz , оно работает.

+1 перезагрузка на Win7

Для тех, кто тоже не может заставить его работать :: ПОПРОБУЙТЕ ЭТО

Просто закройте все свои экземпляры командной строки CMD и снова откройте от имени администратора (на всякий случай).
Исправил это для меня

@mcpDESIGNS спасибо, мне тоже помогло!

У меня такая же проблема на Win10 x64.
Но в моем случае это потому, что символическая ссылка указывала на несуществующую папку в C (C:\Program Files\nodejs\v1.1.2).
Единственная папка в папке nodejs — «v4.0.0», поэтому мне нужно было удалить символическую ссылку и создать другую, используя mklink /j "C:\Program Files\nodejs" "G:\Program Files (x86)\nvm

Это все еще проблема в Windows 7 по состоянию на 2.1.2016. Переменные не оцениваются в дочернем cmd.

Решение состоит в том, чтобы открыть новое окно cmd.

@coreybutler Я полагаю, вы используете SETX VAR value и start cmd .

SETX VAR value устанавливает переменную среды с именем VAR только для новых экземпляров cmd
start cmd запускает дочерний элемент текущего cmd, который использует родительскую среду.

Обходной путь состоит в том, чтобы дополнить SETX SET VAR=value , чтобы дублировать значение в текущую среду для дочерних процессов.

Я пробовал многие из вышеперечисленных решений, и единственное, что в итоге сработало для меня, - это перезапустить Windows 7. :disappointed:

К вашему сведению: поддержка Windows 7 = устарела.

@vferko - я явно не использую SET или SETX . Механизм InnoSetup обрабатывает все это. Я считаю, что проблема в последовательности. Время от времени установщик запускает окно cmd до завершения методов настройки переменных среды.

К вашему сведению: ОШИБКА при открытии settings.txt: [...] произошла со мной на Win10 x64. После открытия нового окна cmd кажется, что все в порядке :)

Еще бывает с 1.1.0 в Win10 x64. То же, что @DCorto

перезапустите cmd.exe и все в порядке

У меня как-то другие симптомы, но похоже это связано с этой проблемой:

  • Win7 64bit, установка прошла успешно, но nvm не распознается ни как внутренний, ни как внешний...
  • После каждого перезапуска системы nvm можно запускать из командной строки до первого использования nvm.- то опять 'nvm' не опознается...
  • Удаление пользовательских переменных NVM_HOME и NVM_SYMLINK решило проблему (%vars% заменены в PATH на их значения)

Это должно быть решено с помощью нового установщика. InnoSetup был обновлен до версии 1.1.7, а в install.cmd было внесено несколько новых изменений. Windows 7 также технически не поддерживается NVM4W или Microsoft.

У меня такая же ошибка с новой версией 1.1.7, где находится пользовательская переменная, которую я не вижу на settings.txt

Извините, просто перезагрузите компьютер и все заработает 💯

Эта ошибка все еще присутствует. Некоторое время я без проблем использовал NVM, а теперь у меня есть проект, который требует от меня перемещения кэша NPM непосредственно на диск C (чтобы избежать проблем с длинным путем) и после того, как я внес это изменение (вероятно, это единственное изменение конфигурации NPM, которое я сделал, и в тот же день это начало происходить…) эта проблема начала происходить.

Я обнаружил, что запуск Powershell в качестве администратора позволяет мне запускать NVM без проблем, что является обходным путем, который я буду использовать сейчас (я мог бы установить права доступа к файлу settings.txt на «все идет», как другой плакат если это сильно раздражает).

Я не думаю, что это будет решением для всех. Но, может быть, для некоторых. КРАТКИЙ ОТВЕТ: Попробуйте закрыть командное окно и открыть новое командное окно. ДЛИННЫЙ ОТВЕТ: Я обнаружил, что если я установил nvm с помощью nvm_setup.exe (загруженного в nvm_setup.zip) из командной строки Windows (командное окно cmd.exe), а затем попытался запустить nvm в том же сеансе командного окна (сразу после установки ), это выдало мне эту ошибку - ОШИБКА открытия settings.txt. Я посмотрел, и пути были добавлены в мои системные настройки PATH. Итак, я закрыл окно командной строки и открыл новое окно команд. Тогда это сработало. Я думаю, что даже несмотря на то, что установка добавляет путь к nvm.exe (и к settings.txt) в Windows PATH, он еще не распознается в том же командном окне. Закройте командное окно и откройте новое. Надеюсь, это поможет кому-то. Предложение для установщика, возможно, дать пользователю сообщение в начале установки о том, что окно команд закроется после завершения установки. Затем просто закройте командное окно, когда установка завершится. Затем пользователь вынужден открыть новое командное окно после установки.

Еще бывает с 1.1.0 в Win10 x64. То же, что @dcorto

перезапустите cmd.exe и все в порядке

то же самое с win10 + powershell, просто закройте экземпляр cmd или powershell и перезапустите новый cmd или powershell

InnoSetup не всегда соблюдает порядок операций при записи файла начальных настроек и установке пути. Вот почему повторное открытие окна работает после первоначальной установки.

У меня возникла ошибка, когда я запустил приложение npx create react, оно говорит, что введите точный путь, по которому zip-файл извлекается/копируется: после установки nvm и установки узла 12.

Еще бывает с 1.1.0 в Win10 x64. То же, что декоро

перезапустите cmd.exe и все в порядке

Этот стиль работает (как обходной путь) @Muizuddeen

Обнаружил, что если скопировать settings.txt в c: , тоже работает

Была ли эта страница полезной?
0 / 5 - 0 рейтинги