当我 ssh 进入实例时节点版本与我手动执行时不同

The node version is different when I ssh into an instance than when I do it manually

如果你能帮我解决这个问题就太好了。

当我在GCE实例上手动运行node -v时,提示节点版本为v12.18.3 但是当我 运行 它与来自云端的另一个命令 Shell:

gcloud compute ssh [USER]@[GCE instance] --zone [ZONE] --project [PROJECT ID] --command "node -v"

表示节点版本为v14.17.1

为什么会这样?我怎样才能达到 v12.18.3 版本?我需要它,因为我的 Vue 应用程序无法在 node.

版本 14 上正常工作

补充信息:

nvm ls
       v12.18.0
->     v12.18.3
         system
default -> 12.18.0 (-> v12.18.0)
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v12.18.3) (default)
stable -> 12.18 (-> v12.18.3) (default)
lts/* -> lts/fermium (-> N/A)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.24.1 (-> N/A)
lts/erbium -> v12.22.1 (-> N/A)
lts/fermium -> v14.17.1 (-> N/A)

主机上可能存在该二进制文件的多个版本,并且根据您执行命令的位置,PATH 的设置可能不同,这反过来会选择一个不同的二进制文件 运行。

您可以 运行 which -a node 在主机上找到该二进制文件的所有版本,然后 运行 使用完整路径即 /usr/local/bin/node -v 找出哪个版本一个是在什么条件下加载的。

之后我相信您可以删除有问题的那个或更改 PATH 变量以加载正确的那个。