Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何判断Mac OS X上是否安装了自制软件_Ruby On Rails_Macos_Homebrew - Fatal编程技术网

Ruby on rails 如何判断Mac OS X上是否安装了自制软件

Ruby on rails 如何判断Mac OS X上是否安装了自制软件,ruby-on-rails,macos,homebrew,Ruby On Rails,Macos,Homebrew,我正在做一些Rails编程,我一直看到在web解决方案中引用Homebrew,但从未使用过它 我还注意到,在终端版本2.9中,自制是终端下拉列表中“Shell->New”旁边的一个选项,但当我选择自制并发出命令时,它们失败了 通常出现“未找到命令”错误 奇怪的是,我一直无法找到一个简单的命令来确定是否安装了brew 如何检查Mac电脑上是否已安装了自制软件?brew帮助。如果有brew,您将获得输出。如果没有,您将得到“未找到命令”。如果需要签入脚本,您可以确定如何重定向输出并检查$?确定是否安

我正在做一些Rails编程,我一直看到在web解决方案中引用Homebrew,但从未使用过它

我还注意到,在终端版本2.9中,自制是终端下拉列表中“Shell->New”旁边的一个选项,但当我选择自制并发出命令时,它们失败了

通常出现“未找到命令”错误

奇怪的是,我一直无法找到一个简单的命令来确定是否安装了brew


如何检查Mac电脑上是否已安装了自制软件?

brew帮助
。如果有brew,您将获得输出。如果没有,您将得到“未找到命令”。如果需要签入脚本,您可以确定如何重定向输出并检查
$?

确定是否安装了某个脚本的标准方法是使用
哪个

如果安装了Brew

>>> which brew
/usr/local/bin/brew
>>> which brew
brew not found
[ ! -f "`which brew`" ] && echo "not installed"
如果未安装Brew

>>> which brew
/usr/local/bin/brew
>>> which brew
brew not found
[ ! -f "`which brew`" ] && echo "not installed"
注意:“未安装”消息取决于您的shell<代码>zsh
如上所示
bash
不会打印任何内容
csh
将显示
brew:Command not found.
在“installed”情况下,所有shell将打印路径。)


它适用于所有命令行程序。尝试
哪个grep
哪个python
。因为它告诉您正在运行的程序,所以在调试时也很有用。

我使用它来执行更新或安装:

which -s brew
if [[ $? != 0 ]] ; then
    # Install Homebrew
    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
else
    brew update
fi

我只是在终端中键入brew-v,如果您有它,它将响应安装的版本号

>>> which brew
/usr/local/bin/brew
>>> which brew
brew not found
[ ! -f "`which brew`" ] && echo "not installed"

解释:如果未安装brew,请在
&&

之后运行命令,而
这是检查程序是否已安装的最常用方法,它将告诉您仅当程序位于
$PATH
中时才安装程序。因此,如果您的程序已安装,但由于任何原因,
$PATH
未更新*,
将告诉您该程序未安装

(*一个示例场景是从Bash更改为Zshell,并且
~/.zshrc
没有来自
~/.Bash_配置文件的旧
$PATH

command-vfoo
哪个foo
的更好选择<代码>命令-v brew
如果未安装Homebrew,则不会输出任何内容

命令-v brew
下面是一个示例脚本,用于检查是否安装了Homebrew,如果未安装,请安装,如果已安装,请更新

如果[[$(命令-v brew)==“”];然后
echo“安装Hombrew”
/usr/bin/ruby-e“$(curl-fsSL)https://raw.githubusercontent.com/Homebrew/install/master/install)"
其他的
echo“更新自制软件”
brew更新
fi

另一种可能的方法:

# Check if Ninja is installed
if ! which ninja > /dev/null
then
echo 'Ninja installation...'
brew install ninja
fi

brew doctor
检查自制软件是否已安装且工作正常。

使用
中的
类型
内置工具


i、 e.:
哪个brew
键入brew

安装自制软件后,在终端中键入commandbrew doctor

  • 如果您收到以下消息:

    您的系统已准备好进行brew

    那么您就可以开始了,您已经成功安装了自制软件

  • 如果您收到任何警告,您可以尝试修复它


就我而言,Mac OS High Sierra 10.13.6

brew -v

OutPut-
Homebrew 2.2.2
Homebrew/homebrew-core (git revision 71aa; last commit 2020-01-07)
Homebrew/homebrew-cask (git revision 84f00; last commit 2020-01-07)

在运行Catalina 10.15.4时,我运行了下面的permissions命令来安装brew

sudo chown -R $(whoami):admin /usr/local/* && sudo chmod -R g+rwx /usr/local/*

brew-v
brew--version
成功了

是的,您可以运行
哪个brew
,但您可能已经安装了它,如果您使用的是zsh,它会说找不到它。您需要将其添加到.zshrc文件。

我执行了“brew帮助”,但什么也没有得到。我决定继续安装,现在“brew帮助”返回结果。谢谢。
brew-v
打印
Homebrew
版本将其粘贴到您的命令:/usr/bin/ruby-e“$(curl-fsSL)”如果找不到安装包,这是一个非常好的解决方案!当我在我的mac电脑终端上编写哪个brew时,我什么也没有得到。除了你使用哪个shell,你会收到不同的消息。这是一个很好的澄清!非常有用。感谢您发布备选方案和解释。请不要添加“谢谢”作为答案。取而代之的是,投票选出你认为有用的答案-