[] Моя установка Windows не на английском языке.
[X] прочтите README, чтобы знать о проблемах с npm и антивирусах.
[X] удостоверился, что это не вопрос о том, как использовать NVM для Windows, так как gitter используется для вопросов и комментариев.
[] settings.txt
Я использую Windows 7/64 бит
Я установил (с правами администратора) NVM для Windows 1.1.1. Оттуда я использовал
nvm install 6.1.0 all
nvm install 6.3.0 all
Я тогда позвонил
nvm list
в результате чего
C:\Users\kagentes>nvm list
6.3.0
6.1.0
Я тогда побежал
nvm use 6.3.0 64
а потом
node -v
и ожидал получить
v6.3.0
При беге
node -v
я получил
'node' is not recognized as an internal or external command,
operable program or batch file.
Также, даже после установки команды nvm use, я заметил, что список, похоже, не подтверждает, что команда «use» работает. Как в:
C:\Users\kagentes>nvm use 6.3.0 64
Now using node v6.3.0 (64-bit)
C:\Users\kagentes>nvm list
6.3.0
6.1.0
Судя по снимкам экрана на странице https://github.com/coreybutler/nvm-windows , я считаю, что команда nvm list
должна возвращать что-то вроде этого ниже (но я НЕ получаю этого )
C:\Users\kagentes>nvm list
* 6.3.0 (In Use)
6.1.0
На нем нет звездочки или индикатора «используется».
Возможно, это также поможет диагностировать проблему, но когда я выполняю команду nvm arch
я получаю следующие странные результаты, независимо от того, что я установил в nvm use
:
C:\Users\kagentes>nvm arch
System Default: 64-bit.
Currently Configured: -bit.
Действия по воспроизведению уже приведены в разделе ожидаемого поведения выше. Я уже пробовал возможные рекомендации по другим вопросам, таким как Проблема № 146, а также по перезапуску оболочки, перезапуску компьютера и обеспечению того, чтобы все выполнялось с правами администратора. Перед тем, как начать все это, я удалил предыдущие версии Node, которые были на компьютере. (затем установил nvm-windows и следовал вашим инструкциям).
Извините за очевидный вопрос, но вы пытались перезапустить окно терминала? В Win7 иногда все еще давится при первой попытке использовать определенную версию (mklink).
Да, я сделал. Я попытался перезапустить окно терминала .. потом даже машина .. ни один результат не изменил.
Хорошо, я займусь этим, если у меня будет время. К сожалению, Win7 - не то, к чему я часто прибегаю.
Для всех, для справки по Win7: https://github.com/coreybutler/nvm-windows/wiki/Support-for-Windows-7-and-Earlier
@kgentes - я предполагаю, что до nvm вы установили 64-битную версию узла и установили nvm по умолчанию.
После удаления узла убедитесь, что каталог, в который изначально был установлен узел, был удален, а не просто пуст. Для 64-разрядной версии Windows 7 значением по умолчанию является «C: Program Filesnodejs».
Если каталог «nodejs» все еще существует, то команда «nvm use» не может создать символическую ссылку на версию узла под управлением nvm.
У меня была такая же проблема, пока я вручную не удалил каталог «nodejs».
надеюсь, это поможет
Спасибо, @pleverett .. Я попробую это скоро .. спасибо за
@pleverett СПАСИБО,
- «C: UsersusernameAppDataRoamingnpm»
- «C: UsersusernameAppDataRoamingnpm-cache»
Хотя, вероятно, в этом не было необходимости.
В любом случае, все работает. Благодаря!
@pleverett @coreybutler
другая связанная проблема ---
Теперь, когда я могу видеть и изменять версии узла через nvm, мне интересно, должен ли я видеть разные результаты, когда выполняю:
npm config list
На данный момент никакая информация, кроме одной переменной ниже, не меняется.
user-agent = "npm/3.10.3 node/v6.3.0 win32 ia32"
все остальные остаются прежними. И похоже, что существует только одна версия глобально установленных узловых модулей.
если я перехожу только с 64-битной версии 6.3.0 на 32-битную версию 6.3.0, будут ли у меня такие же установки модулей глобального узла? или он сделает отдельные? Или мне нужно изменить версию, чтобы получить другой набор глобально установленных узловых модулей? В идеале я бы подумал, что для каждой битовой версии будет сохранен уникальный контекст (из-за собственных модулей узлов, таких как libxml - ??? и т. Д.), Но я могу понять, почему другим может не понравиться, чтобы это работало таким образом.
Я все еще использую неправильно? или это связанная ошибка?
поскольку это все еще работает в том же потоке, я хотел открыть его снова, а не создавать новую проблему ... [см. предыдущий комментарий для моего обновленного статуса]
@kgentes - Мне жаль, что я пропустил это ... наверное, это другая проблема.
Если вы переключаетесь только с 32-> 64-битной версии или наоборот, NVM4W будет использовать тот же глобальный каталог node_modules
. Это было сделано намеренно, в первую очередь для того, чтобы свести к минимуму общий размер среды Node. Наличие отдельных установочных каталогов для 32- и 64-разрядных версий удвоит объем памяти большинства пользователей ... а об общем объеме памяти большинство пользователей даже не задумывается, пока у них не закончится свободное место. Несмотря на это, я все равно склоняюсь к использованию отдельного каталога установки в зависимости от архитектуры версия + процесс. Это действительно должно быть на усмотрение пользователя, и, как вы сказали, это нарушает работу некоторых нативных пакетов.
Я закрываю это, потому что тема немного другая. Не стесняйтесь открывать новый выпуск, если хотите.
Самый полезный комментарий
@kgentes - я предполагаю, что до nvm вы установили 64-битную версию узла и установили nvm по умолчанию.
После удаления узла убедитесь, что каталог, в который изначально был установлен узел, был удален, а не просто пуст. Для 64-разрядной версии Windows 7 значением по умолчанию является «C: Program Filesnodejs».
Если каталог «nodejs» все еще существует, то команда «nvm use» не может создать символическую ссылку на версию узла под управлением nvm.
У меня была такая же проблема, пока я вручную не удалил каталог «nodejs».
надеюсь, это поможет