【问题标题】:NVM / Node installation. Command not recognisedNVM/节点安装。命令无法识别
【发布时间】:2022-02-14 21:57:09
【问题描述】:

Ubuntu Linux 20.04.

设置新机器我安装了最新版本的 npm。当时是 v17.4.0。出于某种原因,它在/home/dougi/.nvm/versions/node 中也有 v17.3.0 的文件夹。

然后我发现某些事情需要 LTS 版本,因此使用 nvm 安装 v16.13.2。

我使用nvm uninstall v17.4.0 卸载了 v17.4.0,它删除了 v17.4.0 的所有痕迹,但留下了 v17.3.0 的文件夹(不知道它们为什么在那里)。

今天我用npm install -g @ionic/cli 安装了ionic cli,它将离子文件放在/home/dougi/.nvm/versions/node/v17.3.0/bin 中。当我运行ionic start 时,我得到Command 'ionic' not found...。使用nvm ls 我可以看到我当前使用的是v16.13.2,所以我不确定为什么将ionic 安装到v17.3.0 文件夹中。我认为这就是无法识别离子命令的原因。 nvm ls 的输出是:

我也注意到很多红色,可能是坏的?

请问我做错了什么?

如何删除 v17.3.0 文件夹(我认为删除它们不好)?

如何让 ionic 在 node v16.13.2 下安装并被识别?

谢谢!

【问题讨论】:

    标签: node.js ionic-framework npm nvm


    【解决方案1】:

    尝试手动删除:

    cd ~/.nvm/versions/node
    sudo rm -rf v17.4.0/
    

    并确保您实际切换到 16 版本:

    nvm install 16
    nvm use 16
    nvm alias default 16
    

    【讨论】:

    • 谢谢。我假设仅删除文件夹会导致问题。这样做可以吗?不会引起其他问题吗?
    • 不,您可以再次使用 nvm 重新安装它
    • 谢谢我刚刚这样做了,nvm ls 现在列出了看起来不错的node -> stable (-> v16.13.2) (default)stable -> 16.13 (-> v16.13.2) (default)。但后来我做了npm install -g @ionic/cli,它只是重新创建了我刚刚删除的文件夹,并将离子文件再次放入新创建的/home/dougi/.nvm/versions/node/v17.3.0/bin 文件夹中。好像它认为我安装了 v17.3.0,但我没有。
    • 能否请您重新运行这些步骤,在安装 ionic 之前,运行 which npm 并确保使用 v16 npm?
    • 谢谢。是的,当我这样做时,我会得到/home/dougi/.nvm/versions/node/v16.13.2/bin/npm
    【解决方案2】:

    当运行 nvm 来管理节点时,你不想在 npm 中使用全局前缀,因为 nvm 需要管理它。

    我设置了一个全局 npm 前缀,因此所有 npm 安装都转到 npm 前缀中节点版本的路径。

    您可以使用以下命令检查您的 npm 全局前缀:

    npm root -g

    删除该前缀后,nvm 就可以决定要安装到哪个节点版本。删除全局 npm 前缀:

    npm config delete prefix

    nvm 现在可以正常工作,当我运行npm install -g @ionic/cli 时,它已正确安装到当前在 nvm 中选择的节点版本。呸!

    感谢@sina.ce 帮助我到达那里!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-09
      • 2020-12-24
      • 2020-11-01
      • 2012-04-25
      • 2020-12-16
      • 2016-02-28
      相关资源
      最近更新 更多