tawa19
@tawa19

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

MacにRailsがインストールできない

解決したいこと

MacにRubyとRailsをインストールしたいですが、うまくいきません。
以下、ターミナルで試した内容です。

発生している問題・エラー

[tawa@tawanoMacBook-Pro ~ % rvm requirements run
Checking requirements for osx.
Certificates bundle '/opt/homebrew/etc/openssl@1.1/cert.pem' is already up to date.
Requirements installation successful.

[tawa@tawanoMacBook-Pro ~ % gem install rails
ERROR:  Error installing rails:
	There are no versions of reline (>= 0.3.8) compatible with your Ruby & RubyGems. Maybe try installing an older version of the gem you're looking for?
	reline requires Ruby version >= 2.6. The current ruby version is 2.5.0.
 
[tawa@tawanoMacBook-Pro ~ % rvm get stable
Downloading https://get.rvm.io
Downloading https://raw.githubusercontent.com/rvm/rvm/master/binscripts/rvm-installer.asc
Verifying /Users/tawa/.rvm/archives/rvm-installer.asc
gpg: 水  2/22 08:35:16 2023 JSTに施された署名
gpg:                RSA鍵7D2BAF1CF37B13E2069D6956105BD0E739499BDBを使用
gpg: "Piotr Kuczynski <piotr.kuczynski@gmail.com>"からの正しい署名 [不明の]
gpg: *警告*: この鍵は信用できる署名で証明されていません!
gpg:       この署名が所有者のものかどうかの検証手段がありません。
 主鍵フィンガープリント: 7D2B AF1C F37B 13E2 069D  6956 105B D0E7 3949 9BDB
GPG verified '/Users/tawa/.rvm/archives/rvm-installer'
Downloading https://github.com/rvm/rvm/archive/1.29.12.tar.gz
Downloading https://github.com/rvm/rvm/releases/download/1.29.12/1.29.12.tar.gz.asc
gpg: 土  1/16 03:46:22 2021 JSTに施された署名
gpg:                RSA鍵7D2BAF1CF37B13E2069D6956105BD0E739499BDBを使用
gpg: "Piotr Kuczynski <piotr.kuczynski@gmail.com>"からの正しい署名 [不明の]
gpg: *警告*: この鍵は信用できる署名で証明されていません!
gpg:       この署名が所有者のものかどうかの検証手段がありません。
 主鍵フィンガープリント: 7D2B AF1C F37B 13E2 069D  6956 105B D0E7 3949 9BDB
GPG verified '/Users/tawa/.rvm/archives/rvm-1.29.12.tgz'
Upgrading the RVM installation in /Users/tawa/.rvm/
    RVM PATH line found in /Users/tawa/.mkshrc /Users/tawa/.profile /Users/tawa/.bashrc /Users/tawa/.zshrc.
    RVM sourcing line found in /Users/tawa/.profile /Users/tawa/.bash_profile /Users/tawa/.zlogin.
Upgrade of RVM in /Users/tawa/.rvm/ is complete.

Thanks for installing RVM 🙏
Please consider donating to our open collective to help us maintain RVM.

👉  Donate: https://opencollective.com/rvm/donate


RVM reloaded!

[tawa@tawanoMacBook-Pro ~ % rvm install 3.2.2
ruby-3.2.2 - #removing src/ruby-3.2.2 - please wait
Searching for binary rubies, this might take some time.
No binary rubies available for: osx/14.1/arm64/ruby-3.2.2.
Continuing with compilation. Please read 'rvm help mount' to get more information on binary rubies.
Checking requirements for osx.
Certificates bundle '/opt/homebrew/etc/openssl@1.1/cert.pem' is already up to date.
Requirements installation successful.
Installing Ruby from source to: /Users/tawa/.rvm/rubies/ruby-3.2.2, this may take a while depending on your cpu(s)...
ruby-3.2.2 - #downloading ruby-3.2.2, this may take a while depending on your connection...
ruby-3.2.2 - #extracting ruby-3.2.2 to /Users/tawa/.rvm/src/ruby-3.2.2 - please wait
ruby-3.2.2 - #configuring - please wait
ruby-3.2.2 - #post-configuration - please wait
ruby-3.2.2 - #compiling - please wait
Error running '__rvm_make -j8',
please read /Users/tawa/.rvm/log/1701166955_ruby-3.2.2/make.log

There has been an error while running make. Halting the installation.

エラーで読めと言われたlogfile

最後に書いてあるlogファイルの内容は以下の通りです(長いので途中省略)↓。

+__rvm_make:0> make -j8
	BASERUBY = /Users/tawa/.rvm/rubies/jruby-9.2.9.0/bin/ruby --disable=gems
	CC = gcc
	LD = ld
	LDSHARED = gcc -dynamiclib
	CFLAGS = -O3 -I/opt/homebrew/opt/libyaml/include -I/opt/homebrew/opt/libksba/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/zlib/include -I/opt/homebrew/opt/openssl@1.1/include -fdeclspec -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wextra-tokens -Wdeprecated-declarations -Wdivision-by-zero -Wdiv-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wold-style-definition -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wundef  -fno-common -pipe 
	XCFLAGS = -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fno-strict-overflow -fvisibility=hidden -DRUBY_EXPORT -I. -I.ext/include/arm64-darwin23 -I./include -I. -I./enc/unicode/15.0.0 
	CPPFLAGS = -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT   
	DLDFLAGS = -L/opt/homebrew/opt/libyaml/lib -L/opt/homebrew/opt/libksba/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/zlib/lib -L/opt/homebrew/opt/openssl@1.1/lib -Wl,-undefined,dynamic_lookup -install_name /Users/tawa/.rvm/rubies/ruby-3.2.2/lib/libruby.3.2.dylib -compatibility_version 3.2 -current_version 3.2.2  -fstack-protector-strong -framework CoreFoundation  -fstack-protector-strong -framework CoreFoundation  
	SOLIBS =  -ldl -lobjc -lpthread 
	LANG = ja_JP.UTF-8
	LC_ALL = 
	LC_CTYPE = 
	MFLAGS = - --jobserver-fds=3,4 -j
	RUSTC = no
	YJIT_RUSTC_ARGS = --crate-name=yjit --crate-type=staticlib --edition=2021 -g -C opt-level=3 -C overflow-checks=on '--out-dir=/Users/tawa/.rvm/src/ruby-3.2.2/yjit/target/release/' ./yjit/src/lib.rs
Apple clang version 15.0.0 (clang-1500.0.40.1)
Target: arm64-apple-darwin23.1.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
compiling ./main.c
compiling dmydln.c

.
.
.

compiling parse.c
compiling proc.c
parse.c:9130:9: warning: variable 'yynerrs' set but not used [-Wunused-but-set-variable]
    int yynerrs = 0;
        ^
compiling process.c
compiling ractor.c

.
.
.

compiling util.c
compiling variable.c
1 warning generated.
compiling vm.c
compiling vm_backtrace.c

.
.
.

NoMethodError: undefined method `empty?' for nil:NilClass
  -e at -e:2
make: *** [.rbconfig.time] Error 1
make: *** Waiting for unfinished jobs....
revision.h unchanged
+__rvm_make:0> return 2

初心者でセットアップから苦労しております。よろしくお願いいたします。

0

1Answer

そもそも論ですがrvm 使わないとダメな感じですか?

rvm使うよりもhomebrewからrubyをインストールしたほうが良いと思います。
なんとかenvみたいな言語の仮想環境は使うなら、最近ではコンテナ側で使うかバージョンの違いを吸収させることが多いので、macのローカル環境でrvmを使うことはあまりないと思います。

homebrewからインストールしたrubyにPathを通すことで、複数のバージョンのrubyもちゃんと使い分けられますし、最近は言語環境のenvは本職のプログラマにも割と煙たがられているので、初心者が勉強することはないと思います。

そして、gemからrailsをインストールする場合は、下のようにユーザーの環境にインストールしましょう。gem install railsだとシステム側にインストールされます。意味が分かっているならそれでもいいですが、貴方の用途だとユーザー環境にインストールすべきです。

gem install rails --user-install

まとめるとあなたがやるべきことは以下になります。

rvmをアンインストールする

やり方があるはずなので、それに従います。

homebrewをインストール

homebrew公式サイト

homebrew からrubyをインストール

gem もインストールされます。

brew update
brew install ruby

homebrewからインストールしたrubyにパスを通す

homebrewからインストールしたときにパスを通す指示が出るので、
それに従ってください。そうしないと、macos本体に入っているruby(2.5系列)が優先して使われるため、現在一般に使われているrailsのバージョンが動作しません。

railsをインストール

必ず、ユーザー環境にインストールしてください。

gem install rails --user-install

railsコマンドへのパスを通す。

これもgemインストール時に指示が出ます。

railsコマンドが使えるようになっているはず。

試しにバージョンを表示させてみる。

rails --version
1Like

Comments

  1. @tawa19

    Questioner

    ご丁寧な回答ありがとうございます。
    rvmは参考にしたものが使っていたので使っただけです。指示通りアンインストールしました。

    rubyのパスを通し、railsのインストールまではいきました。
    その後パスを通す指示が出なかったため、現在調べたりしてますが解決できておりません。
    別の質問で投げましたので、ご存知でしたらそちらの方もご回答いただけたら嬉しいです。
    →[新しい質問]: https://qiita.com/tawa19/questions/62a58de1bd005077c309

Your answer might help someone💌