配置文件的默认位置 - MacOS?

Posted

技术标签:

【中文标题】配置文件的默认位置 - MacOS?【英文标题】:Default location for configuration files - MacOS? 【发布时间】:2013-03-18 15:04:47 【问题描述】:

在跨平台应用程序中,我正在使用一个配置文件,该文件允许用户根据需要覆盖各种默认值。

我遇到的问题是...在哪里放置/查找此配置文件,尤其是对于 MacOS X(我从未使用过且无权访问)?我知道 MacOS X 是基于 Unix 的,但我也知道那里的很多事情都非常不同......

我目前的选择:

Unix:

~/.config/<appname>/<appname>.cfg

Windows(对于这个也有点不确定,这里似乎到处都是 - %LOCALAPPDATA% 或 %USERPROFILE% 似乎也是有效的选择):

%APPDATA%/<appname>/<appname>.cfg

MacOS:

...?

任何 cmets,在 MacOS 或我的其他选择上?

【问题讨论】:

但是应该注意的是,对于 Unix,首选路径实际上是 $XDG_CONFIG_DIR:-$HOME/.config/&lt;appname&gt;/&lt;appname&gt;.cfg~/.config 只是 $XDG_CONFIG_HOME 的默认值。 @alexander255:哇,非常好的发现,谢谢!对于任何像我一样乍一看感到困惑的人,XDG_CONFIG_DIR 指的是 freedesktop.org 的规范,以前是“X Desktop Group”(因此是“XDG”)。 【参考方案1】:

我想一定是~/Library/Application Support/&lt;appname&gt;/&lt;appname&gt;.cfg 请参阅Mac App Programming Guide 中的表格:“Mac 应用程序环境”->“运行时环境的低级详细信息”->“文件系统”。

【讨论】:

不必那样做,特别是如果它只是一个简单的可移植命令行应用程序。 @RandyHoward:它不完全是一个“简单的命令行应用程序”。这就是为什么我想知道 Mac 用户会期望配置文件在哪里,而不是仅仅将它存储在某个地方并告诉用户应对。 ;-) 我的意思是,它不是一些大型的 OS X Gui cocoa 应用程序,它期望事情以特定于平台的方式完成。如果您的应用程序可以在 OS X、UNIX 和 Windows 平台上运行,它显然不是“Mac 应用程序”。我坚持我的回答,基本上是简单的。 @RandyHoward 您可以将文件存储在用户主目录下的任何位置。问题是用户期望他们在哪里。 不担心复选标记。我的观点更多的是预期的行为。作为应用程序的“用户”,我希望它的配置方法与其应用程序类型保持一致。如果它是一个 OS X GUI 应用程序,我希望有一个首选项窗格,例如,可以从 - 访问。如果它是一个命令行工具,几乎不管复杂性如何,我都希望通过埋在我的主目录下的启动文件来配置它,或者可能是 /etc/something。这是关于使产品与用户期望相匹配。不管怎样,很高兴你觉得你在这里得到了帮助。【参考方案2】:

您可以按照上面为 Unix/Linux 显示的相同方式存储它。

~ 对于 OS X 上的主目录的工作方式与 UNIX 平台相同。 . 在隐藏目录的名称中也是如此。

鉴于您描述的跨平台需求,我会在 OS X 上以与您的 UNIX 示例完全相同的方式执行此操作。

【讨论】:

以上是关于配置文件的默认位置 - MacOS?的主要内容,如果未能解决你的问题,请参考以下文章

IDEA 配置文件位置

macip配置文件位置

mac版本最全的vscode配置prettier工具

Linux / MacOS 下Redis 安装和配置

小白日记Maven在MacOS 下的安装以及配置

docker配置文件路径