racket - raco: 如果已经存在,如何安装或更新它?
问题描述
raco pkg install <package-name>
如果包尚不存在则安装它,如果包已存在则安装失败。raco pkg update <package-name>
更新包,如果包不存在则失败。
是否有结合这两个命令的 raco 命令?换句话说,是否有一个命令可以在包不存在的情况下安装它,如果包已经存在,也可以对其进行更新?
理由:这种命令在 shell 脚本中很有用。例如,在 Debian/Ubuntu 中,该apt-get install
命令具有确切所需的行为,而对于 python,pip install --upgrade
也有。是否有 raco 的等价物?
球拍版本:6.11
解决方案
您可以使用raco pkg show <package>
来检测是否安装了软件包,例如:
mypkg='memoize'
if [ " [none]" = "$(raco pkg show '$mypkg' | tail -1)" ]; then
raco pkg install "$mypkg"
else
raco pkg update "$mypkg"
fi
推荐阅读
- python - 根据字典的值造句
- laravel - Laravel 上重载的间接修改 - 关系
- python - 如何获得熊猫数据框或系列图中使用的标准颜色?
- java - Hibernate 从缓存中返回错误的列表,即使预期的列表与缓存的列表不同
- python - 编码奇怪的波斯 csv 文件
- excel - OFFSET() + ROW() 不会给出想要的结果
- python - 上传图像以在 Python 中从文件中发布帖子
- javascript - 我正在尝试在 html 中嵌入一些 python 代码以提供一个 gui,它显示何时在倾斜传感器上触发倾斜
- r - 数据框中所有列的列联表
- bash - bash:用换行符连接字符串