Nvm-windows: Символическая ссылка не создается после `nvm use`

Созданный на 22 апр. 2015  ·  24Комментарии  ·  Источник: coreybutler/nvm-windows

C:\joyee\study>nvm install 0.10.38
C:\joyee\study>nvm use 0.10.38
C:\joyee\study>node -v

И я получил

'node' is not recognized as an internal or external command, operable program or batch file.

Итак, я пошел проверить %NVM_SYMLINK% , там была только одна папка node_modules . Я поискал на диске node.exe и обнаружил, что мой узел установлен в C:\Users\Joyee\AppData\Roaming\nvm\version , но нигде больше символьных ссылок не было. Пытался запустить cmd от имени администратора, но это не помогло.

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

Изменить: еще одна странная вещь:

C:\joyee\study>nvm list            

    0.12.2                         
    0.10.38                        

C:\joyee\study>nvm use 0.10.38     
Now using node v0.10.38 (64-bit)   

C:\joyee\study>nvm list            

    0.12.2                         
    0.10.38                        

Нет никаких "используемых" версий.

Installer Issue

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

Это случилось со мной, когда мой коллега установил nvm не удалив сначала node .

Если вы можете использовать команду nvm , убедитесь, что вы выполнили nvm on .

Мы обнаружили, что nvm активируется при обнаружении предыдущей версии node на машине, но установит свое состояние в off .

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

Обнаружена такая же ошибка сегодня.

Исправлено удаление конечной папки cmd от имени администратора и запуск nvm use [version]

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

Это случилось со мной, когда мой коллега установил nvm не удалив сначала node .

Если вы можете использовать команду nvm , убедитесь, что вы выполнили nvm on .

Мы обнаружили, что nvm активируется при обнаружении предыдущей версии node на машине, но установит свое состояние в off .

Та же проблема, удаление _contents_ папки nodejs из моей предыдущей установки узла исправило ее. Я предполагаю, что в нем может быть что-то, что не удалось из-за отсутствия разрешения?

Мы только что сражались с nvm последние два часа, и оказалось, что нам просто нужно запустить ' nvm on . @whitneyit - спасибо, что

@metasean Нет проблем, дружище. Рад, что смог помочь: smile:

У меня такая же проблема. nvm может загрузить и установить любую версию узла, но я могу сделать все nvm on и nvm use X.X.X это не работает.

Я вручную попытался выполнить команду для создания символической ссылки с правами администратора:
"C:\Windows\SysWOW64\cmd.exe" /C mklink /D C:\bin\nodejs C:\bin\nvm\v0.12.0

Система сказала: You do not have sufficient privilege to perform this operation.

По этой ссылке: http://superuser.com/a/125981
Я зашел в интерфейс локальной политики безопасности:
Security settings > Local Policies > User Right Assignement > Create Symbolic links
Меня нет в списке и я не могу добавить себя. Кажется, что политики безопасности по умолчанию в моей компании не позволяют мне создавать символические ссылки. Я сейчас жду, когда ОНО добавит меня в белый список ...

Я что-то упускаю?
Спасибо!

@Kylir; если вы не можете изменить политику безопасности, попробуйте вместо этого запустить командную строку с повышенными привилегиями (иначе: «Пуск»> введите «cmd»> щелкните правой кнопкой мыши и «запустить от имени администратора»).

FWIW, для меня предложение @whitneyit «запустить nvm on » исправило его.
(Хотя я удалил Node в программах добавления / удаления перед установкой nvm, похоже, что папка nodejs все еще была там под файлами программ)

Спасибо @whitneyit . Вы сделали мой день! Я потратил долгие часы, пытаясь исправить это, и ваше решение было почти волшебным!

Мне нужно удалить существующую папку nodejs "C: \ Program Filesnodejs" и создать символическую ссылку вручную, чтобы она работала, в моем случае команда:
mklink / j "C: \ Program Filesnodejs" "C: \ Users \ hungcao \ AppData \ Roamingnvm \ v6.7.0"

update: Из этого поста при использовании символической ссылки есть ограничение, о котором вам нужно знать: «Если вы создаете символическую ссылку на каталог, важно, чтобы не было каталога или файла с тем же именем». Несмотря на то, что мы удаляем старую установку nodejs, если папка все еще существует, она может остановить nvm для создания символической ссылки. Плохо то, что nvm не показывает никаких ошибок или предупреждений.

Та же проблема:

  • Удалить папку C: \ Program Filesnodejs
  • использование nvm
  • узел -v

Та же проблема с моей 64-битной Win 10 Home

удаление папки исправило это

$ node -v
v4.7.2

но у меня проблемы с npm:

$ npm -v
module.js:327
    throw err;
    ^

Error: Cannot find module 'C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js'
    at Function.Module._resolveFilename (module.js:325:15)
    at Function.Module._load (module.js:276:25)
    at Function.Module.runMain (module.js:441:10)
    at startup (node.js:139:18)
    at node.js:990:3
module.js:327
    throw err;
    ^

Error: Cannot find module 'C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js'
    at Function.Module._resolveFilename (module.js:325:15)
    at Function.Module._load (module.js:276:25)
    at Function.Module.runMain (module.js:441:10)
    at startup (node.js:139:18)
    at node.js:990:3

папка node_modules пуста.

Очевидно, что npm install не работает.

РЕДАКТИРОВАТЬ: Я решил это, загрузив вручную zip-архив с выпуском узла 4.7.2 и поместив его папку node_modules в C: \ Program Filesnodejsnode_modules

Это означает, что каждый раз, когда я устанавливаю версию узла, я должен вручную загружать папку node_modules, связанную с этой версией узла. Это грубо!

Спасибо вам всем за это. Попал в ту же проблему, пытался создать символическую ссылку там, где была моя старая установка узла, и я не осознавал, что деинсталлятор оставил некоторые зависимости Python позади ...

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

# created by me
λ echo %PATH% | tr ; '\n'
D:\Program Files HDD\cmder\bin
D:\Program Files HDD\cmder\vendor\git-for-windows\cmd
D:\Program Files HDD\cmder\vendor\conemu-maximus5\ConEmu\Scripts
D:\Program Files HDD\cmder\vendor\conemu-maximus5
D:\Program Files HDD\cmder\vendor\conemu-maximus5\ConEmu
E:\Programs\nvm
E:\Programs\nvm # assuming this is coming from NVM_SYMLINK and NVM_HOME
D:\Program Files HDD\cmder\vendor\git-for-windows\usr\bin
D:\Program Files HDD\cmder\vendor\git-for-windows\usr\share\vim\vim74
D:\Program Files HDD\cmder\

image

@astoellis - Я знаю, что там написано, что используется v6.9.5, но вы все равно можете попробовать nvm use 6.9.5 . Я подозреваю, что ваша проблема может быть связана с cmder ... Недавно я видел несколько проблем, возникающих с cmder. Если это не сработает, попробуйте открыть обычное окно терминала, чтобы определить, что это - nvm4w или cmder.

Спасибо @coreybutler, сейчас проверю.

Ага, ты был на. Черт возьми, cmder.

Я решил эту проблему, отключив все связанные с nvm, node.js, npm вещи, затем переустановив nvm, выполнив nvm on и установив узел, теперь все в порядке

Использование cmd.exe для выполнения nvm use <version> вместо git bash и т. Д.

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

Если бы удалить узел, установить в Windows через файл .msi.
Используйте nvm для установки версии узла
nvm use -version
работают нормально.
может запустить узел -v

но npm не работает
'npm' не распознается как внутренняя или внешняя команда,
действующая программа или командный файл.

Слегка связанная проблема - если вы укажете папку, которая будет содержать символическую ссылку, которая не существует, nvm будет работать, но не будет работать. Так, например, если вы укажете _c: \ devnodejs_nvm_, внутри которого будет создана ссылка _nodejs_. Вы должны создать папку _nodejs_nvm_, nvm не сделает этого за вас. Если вы не создадите nvm, он потерпит неудачу

У меня такая же проблема.

  • удалить все, что связано с nodejs, npm
  • установлен nvm-setup.exe
  • открыл новую командную строку администратора
  • nvm on
  • nvm list ничего не вернул
  • nvm install latest
  • nvm install 7.7.1
  • nvm use 10.0.0 x64 перечисляет оба номера версии, но ни один из них не выбран
  • nvm use 7.7.1 x64 перечисляет оба номера версии, но ни один из них не выбран
  • node -v возвращает 'узел не распознается как внутренний ...'
  • nvm arch возвращает
    Системное значение по умолчанию: 64-разрядная.
    Настроено в настоящее время: -bit

  • nvm arch 64 не меняет этого

Я проверил, что оба пути существуют в системных варах. Я пробовал этот процесс несколько раз, каждый раз проверяя, что нигде не осталось папок nodejs или npm перед установкой nvm.

Любые идеи?

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