Nvm-windows: `nvm use` 后未创建符号链接

创建于 2015-04-22  ·  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,但没有帮助。

我使用的是 Windows 8 64 位,并且在安装 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

最有用的评论

当一位同事在没有先卸载node情况下安装了nvm时,这发生在我身上。

如果您能够使用nvm命令,请确保您运行nvm on

我们发现nvm在机器上检测到node的先前版本时不会自行激活,但会将其状态设置为off

所有24条评论

今天遇到了同样的错误。

修复了卸载nodejs后删除尾随cmd并运行nvm use [version]

奇怪的是,我卸载后没有尾随 nodejs 文件夹(检查所有内容),我确实尝试以管理员身份运行 cmd 。

当一位同事在没有先卸载node情况下安装了nvm时,这发生在我身上。

如果您能够使用nvm命令,请确保您运行nvm on

我们发现nvm在机器上检测到node的先前版本时不会自行激活,但会将其状态设置为off

同样的问题,从我之前的节点安装中删除 nodejs 文件夹的 _contents_ 修复了它。 我想可能只是其中的某些内容因缺乏许可而失败?

过去两个小时我们一直在与 nvm 斗争,结果我们只需要运行' nvm on@whitneyit - 感谢您让我们启动并运行!!!

@metasean没问题,伙计。 我很高兴能够提供帮助 :smile:

我有同样的问题。 nvm 能够下载和安装任何版本的节点,但我可以做所有的nvm onnvm 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 :
我去了本地安全策略界面:
Security settings > Local Policies > User Right Assignement > Create Symbolic links
我不在列表中,我无法添加自己。 我公司的默认安全策略似乎不允许我创建符号链接。 我现在正在等待 IT 将我添加到白名单中...

我错过了什么吗?
谢谢!

@凯利尔; 如果您无法更改安全策略,请尝试启动提升的命令提示符(又名:“开始”> 键入“cmd”> 右键单击​​并“以管理员身份运行”)。

FWIW,对我来说, @whitneyit建议“运行nvm on ”为我修复了它。
(虽然我在安装 nvm 之前在添加/删除程序中卸载了 Node,但看起来 nodejs 文件夹仍然存在于程序文件下)

谢谢@whitneyit 。 你让我今天一整天都感觉很好! 我花了很长时间试图修复它,你的解决方案几乎是神奇的!

我必须删除现有的 nodejs 文件夹“C:\Program Filesnodejs”并手动创建符号链接以使其工作,在我的情况下命令是:
mklink /j "C:\Program Filesnodejs" "C:\Users\hungcao\AppData\Roamingnvm\v6.7.0"

更新:从这篇关于使用符号链接的帖子开始,你需要注意一个限制:“如果你正在符号链接一个目录,重要的是没有同名的目录或文件”。 即使我们卸载了旧的 nodejs 安装,如果文件夹仍然存在,那么它可以停止 nvm 来创建符号链接。 不好的是 nvm 没有显示任何错误或警告

同样的问题:

  • 删除文件夹 C:\Program Filesnodejs
  • 非虚拟机使用
  • 节点 -v

我的 Win 10 Home 64 位也有同样的问题

删除文件夹修复它

$ 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不起作用。

编辑:我通过手动下载节点 4.7.2 版本的 zip 并将其 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,我现在就去看看。

是的,你在 💰 上。 该死的指挥官。

我通过卸载所有 nvm、node.js、npm 相关的东西解决了这个问题,然后重新安装 nvm 执行 'nvm on' 并安装 node ,现在很好

使用 cmd.exe 执行nvm use <version>而不是 git bash 等

如果我们在设置中选择明显存在的路径,但实际上对于符号链接,它不应该因此需要删除 nodejs 文件夹并再次使用 nvm。 我已经制定了故障排除步骤。 希望能帮助到你。

通过 .msi 文件在 Windows 中卸载节点安装。
使用 nvm 安装 node 版本
nvm 使用 -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不会改变这一点

我验证了系统变量中存在两条路径。 我尝试了几次这个过程,每次都在安装 nvm 之前验证任何地方都没有剩余的 nodejs 或 npm 文件夹。

有任何想法吗?

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

leiamac picture leiamac  ·  4评论

martijnsenden picture martijnsenden  ·  3评论

Deilan picture Deilan  ·  4评论

janpio picture janpio  ·  3评论

keylowgee picture keylowgee  ·  6评论