执行任何终端命令时获得“无此类文件或目录”(由 VMware Fusion 引起)



我正在使用macOS High Sierra,在尝试安装脚本时遇到以下错误:

 sh: Fusion.app/Contents/Public:/Users/<name>/.rvm/bin: No such file or directory

显然与rvmFusion.app有关,我没有那个应用程序,我所拥有的是VMWare Fusion.app.

VMWare会更改您的$PATH变量,但它不会在.profile/etc/profile中执行,全局变量或局部变量都不会bashrczshrc文件。

它有自己的文件 /etc/paths.d .该文件称为 com.vmware.fusion.public

您需要 sudo 权限才能更改文件:

$ sudo vim /etc/paths.d/com.vmware.fusion.public

该文件已readonly,并且具有以下内容:

/Applications/VMware Fusion.app/Contents/Public

请注意,它周围没有引号,并且空格字符没有转义。您需要在VMWare之后和空格之前添加一个

最终结果:

/Applications/VMware Fusion.app/Contents/Public

:x!一起退出vim

打开一个新的终端窗口并再次运行您的命令,您应该不再出现该错误。

在启动时使用 VMware Fusion 重写/etc/paths.d/com.vmware.fusion.public;

将此 PATH 查找和替换行添加到我的.bash_profile似乎有效:

export PATH=${PATH//VMware F/VMware\ F}

发生这种情况是因为某些 shell 脚本(在这种情况下可能是 rvm (没有遵循最佳实践,特别是:

双引号以防止通配和分词https://github.com/koalaman/shellcheck/wiki/SC2086

按照其他答案中的建议更改/etc/paths.d/com.vmware.fusion.public可能会破坏此变量用双引号括起来的所有其他地方。

相关内容

  • 没有找到相关文章

最新更新