Mc: 与午夜指挥官的冲突

创建于 2016-09-09  ·  7评论  ·  资料来源: minio/mc

二进制名称与 Midnight Commander 冲突。

我已阅读有关此问题的先前票证并评估了您的意见。 尽管如此,我相信您_应该_避免使用与mc相同的名称。 很高兴您在这里寻找较短的名称,但与其他名称发生冲突是不可接受的。 如果 _user_ 想要更短的名称,他可以在 shell 中自由设置别名。 有数千 (https://qa.debian.org/popcon.php?package=mc) 用户已经在使用 Midnight Commander。

实际上,这种情况导致无法通过自制软件共同安装 minio-mc 和午夜指挥官的情况。 见https://github.com/Homebrew/homebrew-core/commit/badeeeb5aced1cf9ef0cc9332453ac56a0db9df8#diff -c021a0c2c90326616e8d0c422a20d4fdR11

我敦促你重新考虑这个项目的名称。

wontfix

最有用的评论

POSIX 与当今的需求无关。

你我和其他人每天都在使用它。 怎么无关紧要?

现代操作系统应该在自己的命名空间中支持用户安装的二进制文件

它们已经存在,但是当 $PATH 中有两个使用相同名称的二进制文件时,这并不能解决这种情况。 不幸的是,你的一厢情愿现在或将来都无法解决这个问题。

这就是 nodejs、Go、Python 不再使用分发包模块的原因。

你把事情搞混了。 编程语言从一开始就从未使用过特定于发行版的包。 下游对它们进行重新包装,使其符合现有政策。 这允许最终用户轻松安装任何软件包,而无需费心设置开发环境和从头开始构建所有内容。

午夜指挥官用户也不太可能使用 mc。

什么? 我是 12 年的活跃 mc 用户。 Mindnight Commander 的每个实例都使用mc作为二进制名称。 你的说法没有任何意义。

二进制包在安装时发生冲突是可以的。

你没有抓住重点。 在 $PATH 下有两个同名的不同二进制文件是不行的。 这已经导致冲突,请参阅自制程序链接。

我真的希望这里有一个简单的解决方案。

有。 更改此二进制文件的名称。 不要鼓励其他人为你做这件事。 你的被动攻击行为不是解决这个问题的方法。 这不是你最后一次被问到这个大胆的问题。

所有7条评论

还有关于 node.js 和 node (Amateur Packet Radio Node Program) 之间名称冲突的类似案例,请参阅https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=614907#108 .

你对这个名字冲突的无知会给下游维护者带来很多麻烦。

如果愿意,包装商可以自由选择不同的名称。 类 Unix 操作系统必须成长。 我不明白为什么用户必须是 root 才能在他/她自己的命名空间中安装软件包。

我们只需“去获取”或将 mc 二进制文件复制到 ~/bin 并执行。 我们并不真正依赖 rpm 或 dpkg 来安装 Go 包。

如果您鼓励下游维护者重命名您的二进制文件并在文档中保留mc名称,那么您必须准备好面对诸如以下问题的风暴:
https://askubuntu.com/questions/235655/node-js-conflicts-sbin-node-vs-usr-bin-node
https://stackoverflow.com/questions/21168141/cannot-install-packages-using-node-package-manager-in-ubuntu

我的问题不是关于 rpm, deb, go get 。 用户更喜欢安装存储库提供的包而不是自己构建二进制文件。 问题是关于在 $PATH 下有两个带有mc名称的二进制文件。

这是链接的 Debian 错误的小片段,与此处高度相关:

  The Technical Committee notes that the namespace of executable
  commands on $PATH is a resource shared among everyone writing software
  for POSIX-compatible systems, and that the combinations of packages
  that users may choose to install on a given system can easily surprise
  the authors of those packages.

  The Committee advises anyone writing widely-deployed software to
  consider its command name carefully at an early stage.  It is a good
  idea to search the web for your proposed name and try to ensure that
  it is unique.  It is likely to be a bad idea to use excessively short
  names or common words.  The conflict between LinuxNode and Node.js
  demonstrates that taking a little time early on can avoid a great deal
  of tedium later.

POSIX 与当今的需求无关。 现代操作系统应该在自己的命名空间中支持用户安装的二进制文件。 这就是 nodejs、Go、Python 不再使用分发包模块的原因。

午夜指挥官用户也不太可能使用mc 。 二进制包在安装时发生冲突是可以的。

我真的希望这里有一个简单的解决方案。

POSIX 与当今的需求无关。

你我和其他人每天都在使用它。 怎么无关紧要?

现代操作系统应该在自己的命名空间中支持用户安装的二进制文件

它们已经存在,但是当 $PATH 中有两个使用相同名称的二进制文件时,这并不能解决这种情况。 不幸的是,你的一厢情愿现在或将来都无法解决这个问题。

这就是 nodejs、Go、Python 不再使用分发包模块的原因。

你把事情搞混了。 编程语言从一开始就从未使用过特定于发行版的包。 下游对它们进行重新包装,使其符合现有政策。 这允许最终用户轻松安装任何软件包,而无需费心设置开发环境和从头开始构建所有内容。

午夜指挥官用户也不太可能使用 mc。

什么? 我是 12 年的活跃 mc 用户。 Mindnight Commander 的每个实例都使用mc作为二进制名称。 你的说法没有任何意义。

二进制包在安装时发生冲突是可以的。

你没有抓住重点。 在 $PATH 下有两个同名的不同二进制文件是不行的。 这已经导致冲突,请参阅自制程序链接。

我真的希望这里有一个简单的解决方案。

有。 更改此二进制文件的名称。 不要鼓励其他人为你做这件事。 你的被动攻击行为不是解决这个问题的方法。 这不是你最后一次被问到这个大胆的问题。

午夜指挥官用户也不太可能使用 mc。

请再读一遍。

the combinations of packages that users may choose to install
on a given system can easily surprise the authors of those packages
此页面是否有帮助?
0 / 5 - 0 等级

相关问题

richarson picture richarson  ·  5评论

accaldwell picture accaldwell  ·  5评论

donatello picture donatello  ·  5评论

mausch picture mausch  ·  8评论

silvernode picture silvernode  ·  8评论