Nvm-windows: Проблема с пробелами в пути

Созданный на 17 февр. 2015  ·  71Комментарии  ·  Источник: coreybutler/nvm-windows

Привет! У меня проблема при попытке nvm use <node_version>
captura
Извините за испанский язык на скриншоте. Это означает, что "c: \ Users \ Edu" не распознается как внутренняя команда ... бла-бла-бла.
Мое имя пользователя «Эду Мартин», а мой путь - «c: \ Users \ Edu Martin \ AppData \ Roaming \ nvm».
Возможна ли ошибка с черными пробелами в пути ?? Все настройки в моем приложении стандартные

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

Чтобы исправить это, отредактируйте файл settings.txt и используйте альтернативную схему именования папок Windows, в которой нет пробелов, что в моем случае было:

2

(по умолчанию settings.txt находится в AppData \ Roaming \ nvm)

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

+1

Для меня обходным путем было удаление и повторная установка для пользователя Public . Не идеально, но приятно запускать NVM на Windows!

+1 во многих установках Windows есть имена пользователей с пробелами

+1 для этого, столкнулся с той же проблемой с моим именем пользователя

1

Чтобы исправить это, отредактируйте файл settings.txt и используйте альтернативную схему именования папок Windows, в которой нет пробелов, что в моем случае было:

2

(по умолчанию settings.txt находится в AppData \ Roaming \ nvm)

@coreybutler, мы можем исправить это, пожалуйста, пожалуйста?

: молиться:: молиться:: молиться:: молиться:: молиться:: молиться:: молиться:: молиться:: молиться:: молиться:: молиться:: молиться:: молиться:

вот гифка, чтобы попытаться совладать с вами ...

Моя среда сборки недавно / существенно изменилась, поэтому проблема заключается в выпуске двоичных файлов (у меня был действительно настроенный сценарий сборки). Я был бы рад добавить исправление в основную ветку, для этого просто потребуется сборка из исходников.

На следующей неделе мне нужно отправиться в Великобританию, но когда я вернусь в США, я займусь этим, как только смогу.

Было бы здорово @coreybutler :) Также, может быть, мы сможем связать следующую сборку (с этим патчем) с # 17 и т. Д.?

У меня была эта проблема, потому что он хотел использовать «C: \ Documents and Settings (мое имя) \ Application Data \ nvm» в качестве корня. Я переустановил nvm, указав в качестве корня «C: \» вместо значения по умолчанию во время установки, поэтому теперь он сохраняет все версии Node в «C: \ nvm», который, конечно, не имеет пробелов в дорожка. Settings.txt подтверждает это как корень. Мне просто нужно было не забыть перейти к C: \ перед использованием любой из команд nvm, иначе он выдал ошибку, говоря, что не может найти settings.txt. В моем случае, поскольку C: \ не связан ни с одним пользователем, когда я переключаюсь на версию Node с помощью «nvm use <version>», он спрашивает меня, какую учетную запись пользователя я хочу использовать для запуска программы. Но вроде работает нормально; Я получаю сообщение «теперь используется узел <версия>».

+1 Для тех, кто хочет сделать обходной путь, редактируя settings.txt, вы можете попробовать это из командной строки, чтобы получить правильный форматированный путь

cmd / c для% A в ("C: \ Users \ My Name With Spaces \ AppData \ Roaming \ nvm") do @echo % ~ sA

Установка nvm-windows в Program Files также вызывает эту ошибку. Обновление settings.txt, как показано ниже, решает проблему, но было бы неплохо исправить это или добавить в ReadMe как «Попался»!

корень: C: \ PROGRA ~ 1 \ nvm
путь: C: \ PROGRA ~ 1 \ nodejs

использование символической ссылки в окнах, которые я нашел, также является подходящим решением этой проблемы
используйте что-то вроде этого
mklink / J nvm_home "C: \ Users \ Chris McGrath \ AppData \ Roaming \ nvm"

затем обновите файл settings.txt с адресом перекрестка

как только я создал эту ссылку, переключение начало работать без каких-либо проблем

Так что этот вопрос открыт почти год. Неужели мертва nvm-windows?

@codeimpossible - Не умер, у меня только что были высшие жизненные приоритеты. Напишу об этом заметку в gitter.

@coreybutler просто хотел сообщить вам, что я использую nvm-windows каждый день и ценю всю тяжелую работу, которую вы вложили в проект

@kirkouimet Спасибо ... рад услышать, что это полезно!

Привет, coreybutler, отличная работа с nvm. Это действительно облегчает мне жизнь: D

Но можно ли где-нибудь написать информацию о космосе? Что-то типа

«Если в вашем имени пользователя есть пробел, измените каталог по умолчанию, используемый установщиком, и выберите путь без пробела».

Я никогда не редактировал вики на гитхабе. Я немного боюсь того, что могу сделать.

@AntiCZ - Хорошая идея. Я добавил страницу общих проблем, чтобы решить эту проблему. Я продолжу добавлять к этому по мере необходимости.

Я решаю свою, используя:
cmd / c для% A в ("C: \ Users \ My Name With Spaces \ AppData \ Roaming \ nvm") do @echo % ~ sA
пользователя @mhchristensen .
А потом поменять рут в settings.txt
Большое спасибо: +1:

Без пробела в $env:USERPROFILE людей все еще есть проблемы с путём nodejs, имеющим пробелы в Program Files? Я не наблюдаю такого же поведения на моей виртуальной машине Windows 2012R2.

Я собираюсь протестировать пользователя с пробелом в имени, чтобы увидеть, не вызывает ли это какой-то каскадный сбой. Было бы здорово получить некоторые версии ОС и подсказку cmd, которую вы используете (PowerShell / CMD / Bash4Windows / GitBash).

Прямо сейчас я занимаюсь рефакторингом пакета Chocolatey, который кто-то создал для nvm, и надеюсь вскоре его опубликовать. Он избегает использования установщика и использует шоколадный путь установки, в котором нет пробелов, и у меня не было проблем с тем, что путь к узлу имеет пробелы в файле settings.txt.

У меня была почти такая же проблема, за исключением того, что в моем имени пользователя вместо пробела был амперсанд (&). В этой ситуации использование альтернативного имени папки не помогло, потому что даже в коротком имени все еще присутствует амперсанд. Однако создание символической ссылки, как предложил @clmcgrath , было для меня хорошим обходным

Просто установите его в каталог без чего-либо особенного. Например: C: \ nvm \

Также, почему пакет NVM на Chocolatey использует путь C: \ ProgramData \ nvm, поскольку это эквивалент Program Files для «All Users», но без пробелов.

Это можно обойти, используя альтернативные имена для папок или файлов с пробелами. Например, у меня nvm установлен в "C: \ Programs Files \ nvm". Перейдите в папку над теми, у которых есть пробел, и используйте параметр / X, чтобы получить список каталогов с античными именами 8.3:

компакт диск \
dir / X

У меня есть строчка, похожая на ...

15.02.2017 15:44 \

Затем просто отредактируйте файл settings.txt (в моем случае в \ Programs Files \ nvm) и отредактируйте имя папки с ошибкой:

корень: C: \ Progra \ ~ 1 \ nvm
путь: C: \ Progra \ ~ 1 \ nodejs

(Это то же самое решение, которое @markbrownsword предоставил более года назад, но его сообщение было немного искажено механизмом уценки.)

окна

перейти к пути туда без пробелов

или

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

@coreybutler Есть новости по этому поводу? Меня это только что ударило. Я готов пиарить, если вы подскажете, что искать :)

Я только что предварительно выпустил версию 1.1.6 , в которой используется новая система управления путями в Go 1.8.3. Все мои локальные тесты работают с пробелами и специальными символами в путях, но на данный момент я могу протестировать только английскую установку Windows 10. Я надеюсь, что несколько человек, столкнувшихся с этой проблемой, смогут ее проверить. Если проблема решена, я официально выпущу 1.1.6 как исправление.

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

@clmcgrath - рад это слышать!

Для пояснения, меня больше всего интересуют инсталляции не на английском языке, которые производят некоторые скрытые символы. Go распознается как терминатор строки ... он преждевременно прерывает путь.

По-прежнему не работает. Я попытался изменить файл setting.txt, но это тоже не помогло.

@chillerfx - nvm use не работает? Кроме того, какой языковой стандарт находится в вашей среде (не английский?)

В моей ОС Windows 7 'nvm list' работает, но 'nvm use' не работает. Мой язык - английский. Также изменение settings.txt на использование ~ 1 из-за пробела в имени пользователя не работает. Когда это будет сделано, список nvm также не работает.

Моя установка:

NVM v1.1.6
Windows 10 Pro (версия 1703, сборка 15063.540)
Язык: английский (Великобритания)

Проблема все еще не решена. nvm install latest работает, но nvm use 8.4.0 не работает. В моем имени пользователя есть пробел, например «Джон Смит», и я получаю сообщение об ошибке: exit status 1: 'C:\Users\John' is not recognized as an internal or external command, operable program or batch file.

Все (список, использование, установка) работает при редактировании моего файла настроек, как предлагает @ ryan-mcguire.

Могут ли те, у кого есть проблемы, запустить nvm root и сообщить, что напечатано?

корень nvm: C:\Users\Jeff Utz\AppData\Roaming\nvm

Моя установка:

NVM v1.1.6
Windows 10 Pro (1703, сборка 15063.540)
Язык: английский (США)

Все команды работают, за исключением nvm use ... nvm on включит nvm, но затем выдаст ошибку exit status 1

Попробуйте использовать сокращенное имя пути.
Чтобы найти сокращенный путь:
C: \ Пользователи
dir / x

Не забудьте перезагрузить Windows.

error

как решить ошибку ?? поделитесь, пожалуйста, своими ответами ..

@ psiddharth709 - пожалуйста, перестаньте публиковать один и тот же вопрос в нескольких выпусках.

Я копаю решение c: \ nvm. Мне нравится иметь свои вещи, особенно. в Windows в папке, которую я могу легко найти (c: \ xammp - мой сервер apache). Так и сделали, и все хорошо. Спасибо за тяжелую работу.

@coreybutler Вы можете проверить проблему, установив nvm в любую папку с пробелом. Например, в C:\Program files\nvm (ошибка показана выше XepherX - «'C: \ Program' не распознается ...»).

Я предполагаю, что проблема заключается в запуске elevate.cmd с exec.Command . Я не уверен, потому что не знаю, как отлаживать Go. Но когда я переименовываю elevate.cmd я получаю сообщение об отсутствии файла, а когда я восстанавливаю elevate.cmd я получаю сообщение об ошибке «C: \ Program не распознан ...»

Так что, похоже, это не проблема с набором символов. И проблема возникает как в Windows 7, так и в Windows 10. Даже если cmd уже имеет повышенные права (Запуск от имени администратора).

@coreybutler К сожалению, у меня все еще та же проблема, что и у всех остальных участников этого выпуска, даже при использовании предварительной версии 1.1.6.

Всем спасибо! Приношу свои извинения за задержки с выпуском новой версии .... Я все еще завален (и нанимаю).

@Eccenux - возможно, вы там что-то elevate.cmd . Go скомпилирован, поэтому отладка происходит перед сборкой. Я думаю, что команда поднять выше - более вероятная виноватая, но я подтвердю при первой же возможности.

У меня была та же проблема, что и у @davidrosevear. nvm install работал с 1.1.6, а nvm use нет. Дайте мне знать, могу ли я вообще помочь @coreybutler.

У меня все еще возникает эта проблема

@seanpoulter и все, кто хочет помочь ....

У меня большая проблема - в мою консалтинговую компанию приходит много новых клиентов. Проблема: ненормально мало времени на работу над чем-то еще. Будем очень признательны за любые дополнительные глаза, которые могли бы взглянуть на этот вопрос. У меня до сих пор не было возможности изучить предложение @Eccenux re: elevate.cmd , но я думаю, что это отправная точка. В 1.1.6 есть множество встроенных экранированных символов go, так что моя интуиция говорит, что проблема не в Go ... но команда elevate не тестируется с остальной частью кода.

Поздравляю! Это действительно большая проблема.

Давайте посмотрим на решение сообщества и PR для этого, пока @coreybutler занят. У меня есть большой пиар для другого репо (vscode-jest), так что мне придется немного подумать, прежде чем я смогу погрузиться в это сам.

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

Поскольку с момента последнего выпуска здесь прошло некоторое время, я решил опубликовать один, содержащий исправление, которое я отправил незадолго до этого на моей вилке:
https://github.com/shadow/nvm-windows/releases/tag/1.1.7

Я решил, переместив его на C: nvm, но я хотел бы знать, планируются ли какие-либо исправления ....

Спасибо, @shadow только что установил вашу версию из v 1.1.6 с моим именем пользователя «Cody Swartz» на моем пути. Я получал ту же ошибку, что и все остальные, и ваше исправление выглядело чистым и точным. Теперь nvm use работает! 🎉

Я только что загрузил и установил nvm для Windows в первый раз сегодня и столкнулся с этой проблемой. У меня версия 1.1.7. Что-то мне здесь не хватает? Разве это не должно было быть исправлено в версии 1.1.6 и новее?

Также есть эта проблема. Делает все это практически непригодным для использования.

РЕДАКТИРОВАТЬ: Исправлено с помощью трюка ~ 1.

Чтобы исправить это, отредактируйте файл settings.txt и используйте альтернативную схему именования папок Windows, в которой нет пробелов, что в моем случае было:

Чтобы расширить это более точно, преобразование выглядит следующим образом: C: \ Users \ John Doe -> C: \ Users \ JOHND ~ 1

Ошибка все еще остается. Это не решено. Использование nvm 1.17

корень: C: \ PROGRA1nvm
путь: C: \ PROGRA1 \ nodejs

Конфигурация, упомянутая выше ранее в этом потоке, неверна или не работает для меня, по крайней мере ...;)
Для всех, кто сталкивается с этой проблемой.
Когда вы установили nvm и nodejs в C: \ Program Files, просто используйте следующую конфигурацию в settings.txt, и она должна работать.

root: C:\PROGRA~1\nvm
path: C:\PROGRA~1\nodejs

@ Laslo89 дает правильный ответ, замена пробела на ~ работает хорошо

Чтобы исправить это, отредактируйте файл settings.txt и используйте альтернативную схему именования папок Windows, в которой нет пробелов, что в моем случае было:

2

(по умолчанию settings.txt находится в AppData \ Roamingnvm)

Небольшое замечание для тех, кому не хватает общих технических способностей вроде меня. Если вы используете dir *. /x в командной строке, он перечислит каталоги в текущем местоположении, дав вам имя формы 8.3 в среднем столбце. Затем вы можете использовать это, чтобы изменить настройки, как описано выше. Хотя, как упоминалось ранее, Program Files становится PROGRA~1 .

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

>

как эта проблема до сих пор не исправлена ​​?! Если это регресс в 1.1.7, возможно, подумайте о добавлении нескольких интеграционных / модульных / регрессионных тестов, чтобы охватить не такой уж и необычный случай пробелов в именах путей Windows (или Linux, если на то пошло), прежде чем выпускать его ...

Ребята, вам нужна поддержка по этому поводу или кто-то уже активно над этим работает?

@ julian-becker, прежде всего я хотел бы отметить ваше агрессивное начало:

как эта проблема до сих пор не исправлена ​​?!

Это грубо. Люди в сообществе открытого исходного кода не должны уделять вам ни времени, ни внимания. Что делает ваше свободное время более ценным, чем время, проведенное сопровождающими или наше? Похоже, вы не потратили время, чтобы увидеть, что @coreybutler уже ответил на ваш вопрос здесь :

У меня большая проблема - в мою консалтинговую компанию приходит много новых клиентов. Проблема: ненормально мало времени на работу над чем-то еще.

Вы также пропустили решение и форк, которыми поделился @shadow.

Во-вторых, у вас есть отличный план игры, как это должно быть сделано. Сделай это! Если у вас есть время, все, кто наблюдает за этой проблемой, будут благодарны за ее устранение. Посмотрите, что сделал @shadow, добавьте тесты, получите PR и обратитесь за помощью с проверкой кода. Кто-то достаточно эгоистичен, чтобы помочь сделать. Удачи! Свяжитесь с нами, если вам понадобится помощь! 👏

получить пиар

Чтобы избежать возможной путаницы и повторной работы, я хотел бы отметить, что мое исправление уже было объединено , это просто вопрос его фактического выпуска.

Идеально! У меня тоже было не так много времени на чтение. 😆

@shadow Просто снова столкнулся с этой проблемой, есть идеи, когда она будет выпущена?

@coreybutler Не ссылку на релиз в моей вилке в последнем посте здесь, а затем заблокировать эту ветку? Я не думаю, что есть необходимость обсуждать это дальше ...

@coreybutler может можно будет сделать релиз?

Пожалуйста, отпустите это :)

Использование вилки, выпущенной shadow (см. Ссылку выше), сработало для меня как единственное. Большое спасибо!

Я связался с выпуском @shadow в общих вопросах .

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

1. В cmd перейдите в домашний каталог и введите dir / x, чтобы увидеть сокращенное имя этой папки.
2.Затем замените свое имя пользователя этим сокращенным именем в файле setting.txt.
3.Это работает

+1 Для тех, кто хочет сделать обходной путь, редактируя settings.txt, вы можете попробовать это из командной строки, чтобы получить правильный форматированный путь

cmd / c для% A в ("C: \ Users \ My Name With Spaces \ AppData \ Roamingnvm") do @echo % ~ sA

Большое спасибо, эта вещь спасла мне жизнь.

Решено !!

Для тех, кто не может работать с методом ~ 1 от @kirkouimet (спасибо,
Откройте CMD, перейдите в папку «Пользователи» и получите сокращенное имя папки.

и введите

> dir\x

Annotation 2020-05-25 112714

Теперь позже после копирования или записи имени папки
Annotation 2020-05-25 113201

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

Решено !!

Для тех, кто не может работать с методом ~ 1 от @kirkouimet (спасибо,
Откройте CMD, перейдите в папку «Пользователи» и получите сокращенное имя папки.

и введите

> dir\x

Annotation 2020-05-25 112714

Теперь позже после копирования или записи имени папки
Annotation 2020-05-25 113201

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

Спасибо всем, кто предложил решение settings.txt, но особенно Swarag-N за столь подробное объяснение. Я рад, что попал сюда и не изменил имя папки своего профиля пользователя.
Спасибо

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