当我ssh到实例中时,节点版本与手动执行时不同



如果你能帮我做这件事,那就太棒了。

当我在GCE实例上手动运行node -v时,表明节点版本为v12.18.3但是当我用云外壳中的另一个命令运行它时:

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)
  • 我的npm版本是6.14.6
  • 我的nvm版本是0.38.0

主机上可能存在该二进制文件的多个版本,根据执行命令的位置,PATH可能会设置不同,从而选择不同的二进制文件运行。

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

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

最新更新