[M1芯片]我很难通过Homebrew安装Ruby


概述

我正在学习编程,但是前几天我购买了带有M1芯片的Macbook Pro。
因此,我很难为Ruby on Rails构建环境,但是即使是我的初学者也设法做到这一点,所以我将放弃我所做的一切。
(起初,自制酒是什么?好吃吗?)

我提到的文章
https://qiita.com/aiorange19/items/5ffaefc85f912f60c2fa

操作环境

?Macbook Pro(13英寸,M1,2020年)
macOS Big Sur(ver11.0.1)

如果您尚未安装Xcode,则可以预先安装Xcode。
(您可以从App Store下载)
容量约为12GB,因此花费了很长时间。

自制安装

安装Homebrew。
https://brew.sh/index_ja

如官方文档中所述,建议将其安装在M1芯片Mac上的" / opt / homebrew"中,让我们开始吧。
就我而言,我在不考虑代码的情况下将代码复制到了官方网站上,并自动安装在" / opt / homebrew"中。

(翻译)
但是,将其安装在macOSIntel上的/ usr / local,macOSARM上的/ opt / homebrew和Linux上的/home/linuxbrew/.linuxbrew中。

最好预先创建目录并指定安装目标。

1
2
3
% cd /opt
/opt % sudo mkdir homebrew
/opt % curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip 1 -C homebrew

我无法输入brew命令

但是,我目前无法输入brew命令

1
2
% brew -v
zsh: command not found: brew

,我碰到了这里的第一堵墙,但是显然我必须经历称为PATH的事情。
似乎您需要在一个名为「.zshrc」的文件中编写实现此目的的代码,以便将其传递给PATH ...

1
2
3
4
5
6
% ls -a
.               Documents           Music               Public              Downloads
..              Dropbox             .DS_Store           Movies              Pictures
Library         Desktop             .adobe              .zsh_history        .cups
.zsh_sessions   .dropbox            .Trash              Creative Cloud Files
.local

文件不存在\\(^ o ^)/

我没有耐心是因为我没有它,但我之所以做到是因为如果我没有它,我应该做到。
创建完成后,编写遍历PATH的代码。

1
2
3
4
5
6
7
8
9
10
11
% touch .zshrc
% open ~/.zshrc

# .zshrcに下記を記述
export PATH=/opt/homebrew/bin:$PATH

# またはコマンドラインで下記を実行
% echo 'export PATH=/opt/homebrew/bin:$PATH' >> .zshrc

# .zshrcが編集できたら設定を反映させるために下記を実行
% source .zshrc

检查是否可以使用

brew命令。

1
2
% brew -v
Homebrew 2.7.5  # Homebrewのバージョンが表示されればOK

我安全地通过了PATH。

使用rbenv安装Ruby

安装Homebrew后,安装rbenv,以便您可以管理Ruby的版本。

1
% brew install rbenv

这也需要像以前一样位于PATH中,因此请将其添加到.zshrc中。

1
2
3
4
5
6
7
8
9
10
11
% open ~/.zshrc
# 下記を記述
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"

# またはコマンドラインで下記を実行
% echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> .zshrc
% echo 'eval "$(rbenv init -)"' >> .zshrc

# 設定を反映
% source .zshrc

现在您可以安装Ruby了。

Ruby安装

1
2
3
4
5
6
7
8
9
10
11
# 公開されている(DL可能な)Rubyのバージョン一覧を確認
% rbenv install -l
2.5.8
2.6.6
2.7.2
3.0.0
jruby-9.2.14.0
mruby-2.1.2
rbx-5.0
truffleruby-21.0.0
truffleruby+graalvm-21.0.0

Ruby 3.0.0于2020年12月25日发布,但此处为2.7.2
我已经安装好了。
Ruby 3.0.0似乎工作得更快...
我会在学习了一些之后更新它。

安装Ruby

1
% rbenv install 2.7.2

...我尝试过,但是由于某种原因它没有起作用。

经过大量研究,它似乎不适用于openssl
我暂时尝试安装它...

1
2
% brew install openssl
Error: /opt/homebrew/opt/[email protected] is not a valid keg

不知何故...
解决该错误花了很长时间。

结果是,在/opt/homebrew/Cellar中创建的文件夹[email protected]为空,因此一旦删除它,便能够安装它。
スクリーンショット 2021-01-25 0.48.52.png

我能够安装它,但是再次编辑.zshrc并将其放在我的PATH中。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
% which openssl
/usr/bin/opensl  # homebrewへPATHを通しましょう

# .zshrcに下記を追記
export PATH="/opt/homebrew/opt/[email protected]/bin:$PATH"
export LDFLAGS="-L/opt/homebrew/opt/[email protected]/lib"
export CPPFLAGS="-I/opt/homebrew/opt/[email protected]/include"
export PKG_CONFIG_PATH="/opt/homebrew/opt/[email protected]/lib/pkgconfig"
export RUBY_CONFIGURE_OPTS="--with-openssl-dir=/opt/homebrew/opt/[email protected]"

# 設定を反映
% source .zshrc

# 再度opensslの場所を確認
% which openssl
/opt/homebrew/opt/[email protected]/bin/openssl

% openssl version
OpenSSL 1.1.1i  8 Dec 2020  # ちゃんとインストール出来てる

# homebrewへリンクを通す
% brew link openssl

您最终应该可以安装Ruby!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
% rbenv install 2.7.2
Downloading ruby-2.7.2.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.7/ruby-2.7.2.tar.bz2
Installing ruby-2.7.2...
ruby-build: using readline from homebrew

BUILD FAILED (macOS 11.0.1 using ruby-build 20210119)

Inspect or clean up the working tree at /var/folders/p8/krxwz5vn6ld7l4_bc2g1xnbr0000gn/T/ruby-build.20210124030531.27274.KLMWnZ
Results logged to /var/folders/p8/krxwz5vn6ld7l4_bc2g1xnbr0000gn/T/ruby-build.20210124030531.27274.log

Last 10 log lines:
checking for off_t... yes
checking char bit... 8
checking size of int... 4
checking size of short... 0
checking size of long... 0
checking size of long long... configure: error: in `/var/folders/p8/krxwz5vn6ld7l4_bc2g1xnbr0000gn/T/ruby-build.20210124030531.27274.KLMWnZ/ruby-2.7.2':
configure: error: cannot compute sizeof (long long)
See `config.log' for more details

You have not agreed to the Xcode license agreements, please run 'sudo xcodebuild -license' from within a Terminal window to review and agree to the Xcode license agreements.

...那?
如果最后看,请安装Xcode!上面写着。
好的。我没有先安装它,所以这里还有另一个浪费的下载等待。

第三诚实

安装Xcode并再次运行。我真的问。

1
2
3
4
5
6
% rbenv install 2.7.2
Downloading ruby-2.7.2.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.7/ruby-2.7.2.tar.bz2
Installing ruby-2.7.2...
ruby-build: using readline from homebrew
Installed ruby-2.7.2 to /opt/homebrew/opt/rebind/versions/2.7.2

完成了! !!

然后按照下面的流程...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
% rbenv versions
* system (set by /opt/homebrew/opt/rebind/version)
  2.7.2

% rbenv rehash

% rbenv global 2.7.2

% rbenv versions
  system
* 2.7.2 (set by /opt/homebrew/opt/rebind/version)

% ruby -v
ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [arm64-darwin20]

现在您可以切换Ruby版本!

安装Ruby on Rails

我们还要安装Rails。

1
2
3
4
5
6
7
8
9
10
% gem install rails
# バージョン指定しなければ最新版がインストールされる...と思います。

# 最後に一通り更新しておく
% rbenv rehash
% source ~/.zshrc

# Railsのバージョン確認
% rails -v
Rails 6.1.1

现在Ruby on Rails环境已经准备好了!

太久了...

建立环境是困难的

我经常看到很难建立一个环境,这是许多人使编程受挫的原因之一,但是我认为我很理解。哈哈
但是,如果您在耐心调查各种事情的同时这样做,将是可管理的!我都认为。
我非常感谢高级工程师的信息。

仍然是雏鸟,但我会尽力吗?