recommendifyがどうしても必要だったのですが、超初心者ゆえ入れるのに苦労したので、どうしたかを自分用にメモしておきます。
#環境
macOS mojava 10.14.4
#たぶんちゃんとした手順
以下の「実際にやった手順」を踏まえて、これがベストなのかなと思った手順です。
超初心者なので、これできちんと動くかはわからないです。
〜
- brew install redis
- brew install hiredis
- gem install hiredis
- gem install recommendify
- bandle install
##実際にやった手順とターミナル
起きたトラブルとその経過も一緒に載せました(恥晒し)。
###brew install redis
$ brew install redis
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 1 tap (homebrew/core).
==> Updated Formulae
mysql ✔ ballerina ccache ghq iamy istioctl swiftlint
==> Downloading https://homebrew.bintray.com/bottles/redis-5.0.4.mojave.bottle.t
==> Downloading from https://akamai.bintray.com/61/610694b6fa462400eb0f197f1aafc
######################################################################## 100.0%
==> Pouring redis-5.0.4.mojave.bottle.tar.gz
==> Caveats
To have launchd start redis now and restart at login:
brew services start redis
Or, if you don't want/need a background service you can just run:
redis-server /usr/local/etc/redis.conf
==> Summary
🍺 /usr/local/Cellar/redis/5.0.4: 13 files, 3.1MB
ここは難なくできました。
###sudo gem install redis hiredis -N -V ※非推奨
今考えると、この手順が良くなかったです(理由は後述)。
$ sudo gem install redis hiredis -N -V
Password:
(中略)
Successfully installed redis-4.1.0
(中略)
Building native extensions. This could take a while...
current directory: /Users/(ユーザ名)/.rbenv/gems/2.6.0/gems/hiredis-0.6.3/ext/hiredis_ext
["/Users/(ユーザ名)/.rbenv/versions/2.6.2/bin/ruby", "-I", "/Users/(ユーザ名)/.rbenv/versions/2.6.2/lib/ruby/2.6.0", "-r", "./siteconf20190429-1600-s11c4a.rb", "extconf.rb"]
checking for sys/socket.h... yes
(中略)
connection.c:375:55: note: passing argument to parameter 'reply' here
static int __get_reply(redisParentContext *pc, VALUE *reply) {
^
1 warning generated.
compiling hiredis_ext.c
compiling reader.c
linking shared-object hiredis/ext/hiredis_ext.bundle
(中略)
Successfully installed hiredis-0.6.3
2 gems installed
警告文吐いてるけど、とりあえずインストールできたらしいです。
###gem update
$ gem update
gemを入れる前におまじないのごとくやっているので、特に意味はないです。
###gem install recommendify ※失敗
$ gem install recommendify
Fetching recommendify-0.3.8.gem
Building native extensions. This could take a while...
ERROR: Error installing recommendify:
ERROR: Failed to build gem native extension.
(中略)
mkdir -p ../bin
gcc -Wall recommendify.c -lhiredis -o ../bin/recommendify
recommendify.c:4:10: fatal error: 'hiredis/hiredis.h' file not found
(中略)
1 error generated.
make: *** [build] Error 1
make failed, exit code 2
Gem files will remain installed in /Users/(ユーザ名)/.rbenv/gems/2.6.0/gems/recommendify-0.3.8 for inspection.
Results logged to /Users/(ユーザ名)/.rbenv/gems/2.6.0/extensions/x86_64-darwin-18/2.6.0-static/recommendify-0.3.8/gem_make.out
エラーを吐いていますね。
###gem install hiredis ※失敗
エラーを吐いているのに、何を思ったのか続けようとします。
$ gem install hiredis
ERROR: While executing gem ... (Errno::EACCES)
Permission denied @ rb_sysopen - /Users/(ユーザ名)/.rbenv/gems/2.6.0/gems/hiredis-0.6.3/COPYING
権限でひっかかってしまいました。
gem installするときに本来sudoをつけてはいけないときにつけると起こるようです。
十中八九sudo gem install redis hiredis -N -V
のせいでしょう…
###brew install hiredis
今思えば、はじめからこうすれば良かったのだ…
$ brew install hiredis
==> Downloading https://homebrew.bintray.com/bottles/hiredis-0.14.0.mojave.bottl
######################################################################## 100.0%
==> Pouring hiredis-0.14.0.mojave.bottle.tar.gz
🍺 /usr/local/Cellar/hiredis/0.14.0: 31 files, 212KB
###gem install hiredis→Permission denied解決
Homebrewでhiredisをインストールしたので、gemをインストールするぞ!と思ったが
$ gem install hiredis
ERROR: While executing gem ... (Errno::EACCES)
Permission denied @ rb_sysopen - /Users/(ユーザ名)/.rbenv/gems/2.6.0/gems/hiredis-0.6.3/COPYING
Permission denied、しつこい。
ここで手を打たねば、とようやく思って行動しました。
やったことは
$ sudo chown -R (ユーザ名):staff /Users/(ユーザ名)/.rbenv
Password:
/Users/(ユーザ名)/.rbenv以下の権限をユーザに変えるというコマンドです(たぶん)。
再度gem install hiredisしてみると
$ gem install hiredis
Building native extensions. This could take a while...
Successfully installed hiredis-0.6.3
Parsing documentation for hiredis-0.6.3
Installing ri documentation for hiredis-0.6.3
Done installing documentation for hiredis after 0 seconds
1 gem installed
今度はうまくいきました。
###gem install recommendify
$ gem install recommendify
Building native extensions. This could take a while...
Successfully installed recommendify-0.3.8
Parsing documentation for recommendify-0.3.8
Done installing documentation for recommendify after 0 seconds
1 gem installed
こっちもうまくいきました!
###bundle install
$ bundle install
おまじないみたいなものだと思って、やっています。
これでおしまい(のはず)!
#参考サイト
トラブルを解決するのに大変お世話になった記事です。
先人の知恵は偉大ですね!ありがとうございました!
・recommendifyを入れてみたらちょっとはまった
・gem install rails でハマった話
・Rails cが実行不可能、Permission denied@ rb_sysopen - /Users/…の対応策
(いずれも最終閲覧は2019年4月29日です)