【发布时间】:2014-12-20 12:27:45
【问题描述】:
我正在尝试使用 rake 编写一个可以在 Windows 和 Linux 上运行的构建脚本。假设我有以下 rake 任务:
task:check do
sh "dir"
end
这适用于 Windows,但不适用于其他操作系统。使用sh 命令处理操作系统差异的最佳方法是什么?我特别想让以下任务在操作系统之间工作,但它目前在 Windows 上工作:
task:check do
%w(npm bower kpm gulp).each do |cmd|
begin sh "#{cmd} --version > NUL" rescue raise "#{cmd} doesn't exists globally" end
end
end
【问题讨论】:
-
@theTinMan 不完全是。查看例外答案。
-
“几乎是重复的”,而不是“重复的”,否则我会把它作为重复关闭。