我正在尝试在 Linux Mint 上安装 play 框架并设置其变量:
export PATH=$PATH:/relativePath/to/play
但命令无法运行,因为它被另一个命令重叠玩系统默认安装的命令。
$ which play
/usr/bin/play
$ play --version
play: SoX v14.4.1
这些绝对与游戏框架无关,我不知道如何删除它。
$ sudo apt-get remove play
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package play
看来这个命令属于某个包......
答案1
您的play
命令似乎是SoX
。该命令通过音响系统播放音频文件。如果您不需要它,那么您有以下几种选择:
- 卸载SoX
- 调整你的
PATH
所以/relativePath/to/play
出现前/usr/bin
- 直接删除或重命名
/usr/bin/play
(但这可能会给您的包管理器带来问题,或者如果您的包管理器发现它丢失了,它可能会在稍后重新出现)
答案2
您可以使用以下命令找出它属于哪个包dpkg
:
dpkg -S /usr/bin/play
这将为您提供如下所示的输出:
$ dpkg -S /usr/sbin/sshd
openssh-server: /usr/sbin/sshd
如果您不再使用此软件包,则可以使用 删除该软件包apt-get remove
,或者apt-get purge
如果您也想清除配置文件。
如果您得到“找不到匹配模式的路径”,则该文件不属于任何包,在这种情况下,您应该仔细考虑您的选择。您可以手动删除它,但也许某些已安装的软件包(不是您的软件包管理器安装的)需要它。
您还可以play
通过将首选二进制文件放在PATH
.为此,您需要颠倒export PATH
语句中的串联顺序:
export PATH="/relativePath/to/play:$PATH"
答案3
这play
命令是 Linux 上事实上的标准命令。我不建议删除它:某些应用程序可能会停止正常工作。 (不是很糟糕,因为play
只播放声音,但仍然如此。)
要查看该play
命令的作用,请运行man play
.
要查看该命令属于哪个包,请询问您的包数据库。由于Mint使用dpkg作为打包工具:
$ dpkg -S /usr/bin/play
sox: /usr/bin/play
我不建议安装与标准命令同名的另一个命令,因为它会造成混乱。不过,如果您想从 Play Frameworkplay
运行play
命令而不是从 Sox 运行命令,请将其所在的目录放在命令搜索路径上的标准目录之前。
export PATH="/path/to/play-framework/bin:$PATH"