【问题标题】:"nvm use 16.13.0" will return this error "exit status 145: The directory is not empty."“nvm use 16.13.0”将返回此错误“退出状态 145:目录不为空”。
【发布时间】:2023-03-10 11:13:01
【问题描述】:

我有两个版本的 node.js ,如下:-

Your environment has been set up for using Node.js 17.1.0 (x64) and npm.

C:\Windows\System32>nvm list

    16.13.0
    8.16.2

但是当我尝试使用第一个版本时,我得到了这个错误:-

C:\Windows\System32>nvm use 8.16.2
node v8.16.2 (64-bit) is not installed.

当我尝试使用第二个版本时,我得到了这个:-

C:\Windows\System32>nvm use 16.13.0
exit status 145: The directory is not empty.

那么发生了什么?谢谢

【问题讨论】:

    标签: node.js gulp nvm


    【解决方案1】:

    我刚刚通过从“设置”->“应用程序”菜单中卸载 Node.js 来修复它。 根据https://github.com/coreybutler/nvm-windows/pull/615 pull request,nvm 无法更改版本,因为它与正常安装的 Node.js 版本冲突。尝试从应用程序设置菜单中删除 Node.js。

    【讨论】:

    • 工作,但这很奇怪,因为我曾经“使用 nvm”,即使安装了 node.js。
    【解决方案2】:

    当这种情况发生时:

    C:\Windows\System32>nvm use 16.13.0
    exit status 145: The directory is not empty.
    

    只要确保nodejs文件夹为空,勾选C:\Program Files\nodejsC:\Program Files (x86)\nodejs,否则删除内容。那就重试nvm use XXXX(xxxx是版本)

    【讨论】:

      【解决方案3】:

      如果是 Windows 机器,请转到 C:\Program Files\nodejs。 然后将该文件夹重命名为 C:\Program Files\nodejsx。 之后请检查“nvm use v.v.v.”

      【讨论】:

        【解决方案4】:

        我遇到同样的问题。我已解决为:

        确保删除所有旧的 nodejs。

        第一步:卸载nodejs并删除node_home和npm_home;

        第 2 步: 下载 nvm 并安装它。我的操作系统是赢的,所以链接是: https://github.com/coreybutler/nvm-windows/releases。 如果你的操作系统是 MAC 或 Linux,你可以使用brewapt install utils 来安装。

        第三步: 打开 cmd.exe,以“管理员”身份运行,检查 NVM_HOME 和 NVM_SYMLINK 示例:

        NVM_HOME=D:\dev\node\nvm
        NVM_SYMLINK=D:\dev\node\nodejs
        

        注意:确保 diff forlder 中需要 nvm home 和 nvm 符号链接

        如果没有设置,你必须手动设置并添加路径:

        %NVM_HOME%
        %NVM_SYMLINK%
        

        打开一个新的 cmd.exe 终端,并确保这些都正常。

        第 4 步: 打开新的终端提示符:

        run 'nvm on'
        run 'nvm list'
        run 'nvm install 14'
        run 'nvm use 14.18.2'
        run 'node --version'
        

        尽情享受吧。

        【讨论】:

          最近更新 更多