bash_配置文件无法获取节点版本

bash_配置文件无法获取节点版本,bash,macos,Bash,Macos,在我的~/.bash\u档案中我有 export SBT_OPTS="${SBT_OPTS} -Dsbt.jse.engineType=Node -Dsbt.jse.command=$(which node)" 并且在中也有节点 $ which node /Users/alijy/.nvm/versions/node/v12.14.1/bin/node 但当我启动一个新的终端窗口时,在脚本中找不到/替换节点,我得到 echo $SBT_OPTS -Dsbt.jse.engineType=No

在我的
~/.bash\u档案中
我有

export SBT_OPTS="${SBT_OPTS} -Dsbt.jse.engineType=Node -Dsbt.jse.command=$(which node)"
并且在中也有节点

$ which node
/Users/alijy/.nvm/versions/node/v12.14.1/bin/node
但当我启动一个新的终端窗口时,在脚本中找不到/替换节点,我得到

echo $SBT_OPTS
-Dsbt.jse.engineType=Node -Dsbt.jse.command=
在终点站,我试了一下

$ export SBT_OPTS="-Dsbt.jse.engineType=Node -Dsbt.jse.command=$(which node)"
$ echo $SBT_OPTS
-Dsbt.jse.engineType=Node -Dsbt.jse.command=/Users/alijy/.nvm/versions/node/v12.14.1/bin/node
它可以很好地工作并找到节点

我的bash_配置文件脚本有什么问题


非常感谢您的帮助。

因此,在执行导出SBS_OPTS时,它没有关于“节点”的信息。这意味着节点的路径在此之前不会加载,这就是“which node”命令失败的原因

打开终端并运行

echo $PATH
您将在其中看到/Users/alijy/.nvm/versions/node/v12.14.1/bin


现在找到将其添加到PATH变量的位置。为此,请扫描.bash_配置文件和.bashrc文件。无论是哪个文件,请确保在“export SBT_OPTS=“command.

/Users/alijy/.nvm/versions/node/v12.14.1/bin
添加到
路径
之前加载该文件。最好在export命令中直接添加节点的路径,而不是使用
哪个节点
which
命令检查路径变量,您正在
.bash\u概要文件中定义该变量
…因此,如果您提供了非限定的命令名,则默认情况下会搜索路径,因此如果您有一个路径可以使
which
工作,您可以只使用
-Dsbt.jse.command=node
,而不需要
哪个
。总之,在您的点文件中找到您设置
nvm
的位置。将
SBT\u OPTS
分配移到它下面。我让NVM\u DIR在SBT\u OPTS下面导出了几行。把它调高,一切都好了。谢谢