“nvm ls”命令输出结果的理解。一切都安装正确吗?

16

我认为我在安装 nodejsnvm 过程中可能做了一些不当的事情。

每当我启动bash或打开终端时,我会看到:

:~$ bash
N/A: version "N/A -> N/A" is not yet installed.

You need to run "nvm install N/A" to install it before using it.

在命令行中使用nvm ls,我得到了以下结果:

<code>nvm ls</code>的结果

查看我的历史记录,我找到了两行尝试设置别名的命令(我相信我是从一些我正在遵循的指令中得到了这个命令)。

据我所知,我没有任何错误,除了当bash启动时,那些行是由.bashrc生成的:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

我的主要目标是了解nvm ls命令的输出,是否有任何需要修复的内容。

额外的奖励是,如何在登录时消除这些错误(除了简单地删除最后两行);)

我正在使用Ubuntu 17.04

更新:

在查看Matt的答案中的链接后,我看到了我看到的指令。看起来我错过了一点点。这是我所做的事情和到目前为止的结果:

检查链接并运行更新后,除了lts/boron版本号之外,没有太多变化。因为是黄色的,我猜它没有安装。仍然不确定为什么它在我的列表中。

第一次更新后

在我找到的指令中,我漏掉了这个:

nvm install iojs-v1.0.3

那就修复<code>iojs</code>

然后我尝试了:

安装node,清除node->stable行

所以我清除了红色的node -> stableiojs -> N/A 行。它们现在变成了漂亮的绿色。我意识到第一行默认是一个别名。

我正确地设置了别名:

情况正在好转

做这些额外的步骤终于摆脱了我的登录错误,所以这是个好消息。

但我还有黄色的 lts 条目...

我仍然想知道它们是否应该存在,我是否做了某些事情让它们出现,它们是否应该被安装?不安装会有问题吗?

关于它是如何设置的,有趣的是;我一直在使用node和electron应用程序而没有任何问题!这让我更加困惑。


检查命令是否已安装的最佳方法是运行命令--version....如果已安装,则应在命令行中打印一个版本号。 - Matt
2个回答

12

nvm 仅仅展示了默认的别名,即使所有这些别名并没有安装对应版本。

默认情况下,nvm 不会安装任何 Node 版本,但它自带以下别名:

  • nodestable 指向最新版本的 Node.js。
  • iojs 指向最新版本的 io.js,一个已经停止维护的旧版 Node.js 分支。
  • lts/aragon 指向 Node LTS Aragon 系列(即 Node 4)的最新版本
  • lts/boron 指向 Node LTS Boron 系列(即 Node 6)的最新版本
  • lts/* 指向 Node.js 的最新 LTS 发布版本,截至 2017 年 8 月与 lts/boron 相同。(当 Node 8 进入 LTS 时,这将会改变)

由于您没有安装任何 Node 版本,所以显示这些别名不指向当前已安装的任何 Node 版本,因此显示为 N/A

如果您只想运行最新版本的 Node.js,请运行nvm install node

除非需要,否则不要安装 iojs 或旧版本的 Node.js。忽略 N/A 输出,nvm 只是提醒这些别名确实存在。


有没有办法摆脱那些无用的别名? - Penghe Geng
1
我使用了 rm -rf $HOME/.nvm/alias/lts 命令来删除那些 lts 别名。 - Penghe Geng
@PengheGeng 这可能是可行的,但没有真正的理由去删除它们;未使用的别名不会造成任何损害。 - RyanZim
@RyanZim 有点晚了,但当使用自动完成在不同的 Node 版本之间切换时,它们实际上会妨碍操作(nvm use +TAB 将显示所有别名,无论它们是否已安装)。 - Dagan Sandler
1
使用代码 nvm alias default node(在 nvm man 中找到)有助于消除终端启动时出现的不需要的通知:“N/A: version "_N/A: version "N/A -> N/A" is not yet installed. You need to run "nvm install N/A" to install it before using it.” - Jacob Anderson

0

你试过了吗?

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash

这是在GitHub上记录的NVM安装脚本。当我访问npm时,他们引导我到了这个页面,并提供了以下说明: NVM github

文档还提到,在安装后需要选择shell并重新打开它。这可能值得一试。

nvm ls应该列出已安装的node包的版本

列出版本

如果您想查看已安装的版本:

nvm ls


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接