是空

駆け出しエンジニアが学んだことをまとめていくブログ

bundle installでrmagicが入らない時の対処法

マジシャン

環境メモ

エラーの原因

rmagic(2.15.4)がImageMagic7系に対応していない

$ gem install rmagick -v '2.15.4'  
                                                                                                                                                                 
Building native extensions.  This could take a while...
ERROR:  Error installing rmagick:
        ERROR: Failed to build gem native extension.
    /Users/username/.rbenv/versions/2.2.0/bin/ruby -r ./siteconf20200327-32437-xgc1bd.rb extconf.rb
checking for clang... yes
checking for Magick-config... no
checking for pkg-config... yes
checking for outdated ImageMagick version (<= 6.4.9)... no
checking for Ruby version >= 1.8.5... yes
checking for stdint.h... yes
checking for sys/types.h... yes
checking for wand/MagickWand.h... no
Can't install RMagick 2.15.4. Can't find MagickWand.h.
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.
Provided configuration options:
        --with-opt-dir
        --without-opt-dir
        --with-opt-include
        --without-opt-include=${opt-dir}/include
        --with-opt-lib
        --without-opt-lib=${opt-dir}/lib
        --with-make-prog
        --without-make-prog
        --srcdir=.
        --curdir
        --ruby=/Users/username/.rbenv/versions/2.2.0/bin/$(RUBY_BASE_NAME)
extconf failed, exit code 1
Gem files will remain installed in /Users/username/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/rmagick-2.15.4 for inspection.
Results logged to /Users/username/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/extensions/x86_64-darwin-18/2.2.0-static/rmagick-2.15.4/gem_make.out

上記のようなエラーが出たら、自身の環境にあるImageMagickのversionを確認。

$ brew list 

# -略-
imagemagick
# -略-

ImageMagickが7系しかないことが確認できたら、今回の対処法で解決する(多分)。自分は解決しました。

対処法

imagemagick@6を入れる

$ brew install imagemagick@6

7系のリンクを解除して6系に繋ぎ直す

$ brew unlink imagemagick
$ brew brew link imagemagick@6 --force

再度インストール

$ gem install rmagick -v '2.15.4'
Building native extensions.  This could take a while...
Successfully installed rmagick-2.15.4
1 gem installed             

Congratulations !

今回のオススメ漫画

  • スローライフ
  • 男らしくて女の子に人気の女子
  • 白髪長髪の和やか男子

いずれかが好きな方、絶対好きです!私はすべて好きです。ツボ。 穏やかでほっこりした気分になる漫画です。

【macOS, Home Brew v2.2以上】openssl1.0.2をインストールする方法

Home Brew2.2.0でopenssl1.0.2が削除されました。brew install opensslでは入りません。
openssl1.0.2は2019年12月にはサポートが終了、利用は非推奨となっております。

とは言え!!

とは言えRuby2.3.7以下はopenssl1.1との互換性がなく、バージョン上げられない環境にいる方は利用せざるおえません。

参考: Cannot install Ruby versions < 2.4 because of openssl@1.1 dependency · Issue #1353 · rbenv/ruby-build · GitHub

そんな何らかの理由により利用せざるおえない、そしてうっかりuninstallしてしまった方のために、悪戦苦闘した記録を残します。

環境

Homebrew 2.2.1
Homebrew/homebrew-core (git revision 7cbbe; last commit 2019-12-18)
Homebrew/homebrew-cask (git revision 1954a; last commit 2019-12-19)
rbenv 1.1.2

インストール方法

ターミナルで下記を叩きます。

$ brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/8b9d6d688f483a0f33fcfc93d433de501b9c3513/Formula/openssl.rb

おそらく、brewgithubの古いcommitからopenssl1.0.2tを引っ張ってきています。
https://raw.githubusercontent.com/Homebrew/homebrew-core/8b9d6d688f483a0f33fcfc93d433de501b9c3513/Formula/openssl.rbをブラウザで見ると、下記のコメントを見つけました。

This formula tracks 1.0.2 branch of OpenSSL, not the 1.1.0 branch. Due to significant breaking API changes in 1.1.0 other formulae will be migrated across slowly, so core will ship openssl & openssl@1.1 for foreseeable.

google翻訳

この式は、1.1.0ブランチではなく、OpenSSLの1.0.2ブランチを追跡します。のため 1.1.0での重大な重大なAPIの変更が他の式に移行されます
ゆっくりと渡るので、コアは予見できるように opensslopenssl @ 1.1を出荷します。

なるほど?

走るコマンド

==> Consider using `brew extract openssl ...`!
This will extract your desired openssl version to a stable tap instead of
installing from an unstable URL!

######################################################################## 100.0%
Warning: openssl 1.1.1d is available and more recent than version 1.0.2t.
==> Downloading https://homebrew.bintray.com/bottles/openssl-1.0.2t.catalina.bottle.tar.gz
==> Downloading from https://akamai.bintray.com/c9/c9c5e017edabe41ae55ed10ba5b94b834ee494e7f362d7245fbb0b137c876810?__gda__=exp=1576721482~hmac=6d292c122a002e1378734b75c45de418b8b70b346de86e35dc46a83240fa38b7&response-content-d
######################################################################## 100.0%
==> Pouring openssl-1.0.2t.catalina.bottle.tar.gz
==> Caveats
A CA file has been bootstrapped using certificates from the SystemRoots
keychain. To add additional certificates (e.g. the certificates added in
the System keychain), place .pem files in
  /usr/local/etc/openssl/certs

and run
  /usr/local/opt/openssl/bin/c_rehash

openssl is keg-only, which means it was not symlinked into /usr/local,
because Apple has deprecated use of OpenSSL in favor of its own TLS and crypto libraries.

If you need to have openssl first in your PATH run:
  echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.zshrc

For compilers to find openssl you may need to set:
  export LDFLAGS="-L/usr/local/opt/openssl/lib"
  export CPPFLAGS="-I/usr/local/opt/openssl/include"

For pkg-config to find openssl you may need to set:
  export PKG_CONFIG_PATH="/usr/local/opt/openssl/lib/pkgconfig"

==> Summary
🍺  /usr/local/Cellar/openssl/1.0.2t: 1,795 files, 12MB
Removing: /Users/name/Library/Caches/Homebrew/openssl--1.0.2t.catalina.bottle.tar.gz... (3.7MB)
 $ brew list

…略…
openssl
…略…
openssl@1.1
…略…

入ったか確認。opensslがあれば成功です。

参考: Ruby 2.3.7 fails to install on macOS Mojave · Issue #4781 · rvm/rvm · GitHub

入らない時

Error: /usr/local/opt/openssl is not a valid kegって言われる

まず確認

$ ls -ld /usr/local/opt/openssl
drwxr-xr-x  3 name  wheel  96 12 17 12:42 /usr/local/opt/openssl

このように出たら、/usr/local/opt/opensslフォルダが残ってしまっていることが原因のようなので、削除します。

$ rm -r /usr/local/opt/openssl

rm削除
-rディレクトリも含む

$ ls -ld /usr/local/opt/openssl
ls: /usr/local/opt/openssl: No such file or directory

なくなったことを確認

brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/8b9d6d688f483a0f33fcfc93d433de501b9c3513/Formula/openssl.rb
==> Consider using `brew extract openssl ...`!
This will extract your desired openssl version to a stable tap instead of
installing from an unstable URL!

######################################################################## 100.0%
Warning: openssl 1.1.1d is available and more recent than version 1.0.2t.
==> Downloading https://homebrew.bintray.com/bottles/openssl-1.0.2t.catalina.bottle.tar.gz
==> Downloading from https://akamai.bintray.com/c9/c9c5e017edabe41ae55ed10ba5b94b834ee494e7f362d7245fbb0b137c876810?__gda__=exp=1576721482~hmac=6d292c122a002e1378734b75c45de418b8b70b346de86e35dc46a83240fa38b7&response-content-d
######################################################################## 100.0%

つらつらとインストールが流れたら成功!

参考: Brand new homebrew, can't install openssl, not valid keg - Homebrew

ありがとうございました!!!!!!助かりました....

お疲れ様でした > 自分

今日のオススメ漫画

セクシー田中さん

セクシー田中さん(1) (フラワーコミックスα)

セクシー田中さん(1) (フラワーコミックスα)

男心とか女心とかアラサー心とかを考えてしまいます。面白いです〜。フラワーコミックス好き。

【macOS 10.14.6 Mojave】nokogiri 1.10.7が入らなかった!時にやったこと

bundle updateでnokogiri 1.10.7が入らずちょっとハマったので、備忘録として残します。

環境

$ brew --version
Homebrew 2.2.0

解決コマンド

$ sudo chown -R $(whoami) /usr/local/Frameworks
$ chmod u+w /usr/local/Frameworks
$ brew tap homebrew/dupes
$ brew install libxml2 libxslt libiconv 
$ brew link --force libxml2 
$ brew link --force libxslt

経緯

色々な記事を参考にlibxml2 libxslt libiconvのインストールを試みた所エラー発生。

$ brew install libxml2 libxslt libiconv
Error: The following directories are not writable by your user:
/usr/local/Frameworks

You should change the ownership of these directories to your user.
  sudo chown -R $(whoami) /usr/local/Frameworks

And make sure that your user has write permission.
  chmod u+w /usr/local/Frameworks

と言われた。

  • sudoは特権レベルでの実行をするLinuxコマンド
  • chownはファイルの所有者やグループを変更するLinuxコマンド。-Rオプションをつけることで指定したディレクトリとそのディレクトリ以下のファイルやディレクトリの所有権を再帰的に変更します。
  • $(whoami)は現在のユーザー名

という事なので

sudo chown -R $(whoami) /usr/local/Frameworks

/usr/local/Frameworksを現在のユーザーに所有者を変更するみたいです。

その後、

chmod u+w /usr/local/Frameworks

chmodは権限の変更。u+wなので、書き込み権限を付与しています。

その後、よくあるパターンで

$ brew tap homebrew/dupes
$ brew install libxml2 libxslt libiconv 
$ brew link --force libxml2 
$ brew link --force libxslt

を実行した所、エラーは出ずにすんなり通りました。

OSの権限周りはまだ未調査なので、その辺もわかる様になったら追記なり、別記事なりあげたいと思います。

今日はこれにて。

本日のオススメ漫画

こっそりと恒例化していくつもりの今日のオススメ漫画。 今回はこちら。

コミケ童話全集

コミケ童話全集

コミケに一度は行った事ある人にはめちゃくちゃオススメ。行った事なくても、オタクにはオススメ 笑

何度でも読み返してしまう...そしてニヤニヤ笑ってしまう、わかりみの深さに打ち震える、そんな漫画です。

3が発売しましたね!買いましたが、まだ読めておらず...楽しみです。

コミケ童話全集3

コミケ童話全集3

どうしても忘れる!gitのコマンド一覧

備忘録として書きます。書けばきっと忘れない....!

remoteブランチを単純参照

git remote show origin

remoteブランチでは削除されているが、ローカルに参照が残っているブランチを表示

git remote prune --dry-run origin

すでに削除されているremoteブランチのローカル参照を削除してきれいにする

git remote prune origin

マージ済みブランチの一覧

git branch --merged   

リモートブランチの最新状態を取得(リモートブランチの削除も同期)

git fetch -p      

一個前のコミットを取り消す(リモートの未push状態)

# 変更は維持する
git reset --soft HEAD^

# 変更も取り消す
git reset --hard HEAD^

また何かあったら追記します。

そして毎回恒例、最近のオススメ漫画はこちら。

エリスの聖杯 1巻 (デジタル版ガンガンコミックスUP!)

エリスの聖杯 1巻 (デジタル版ガンガンコミックスUP!)

小説家になろう、で原作があります。淡々とした三人称の語り口ながら、情緒に溢れた良い文章を書かれるな〜と思いました。 女性向けの人気作品は貴族を題材にしたものが多いですが、その貴族感に重厚感があると物語に深みが生まれますよね。すき。

感情をコントロールする、というのは我慢するのではなく、それを良く知り、理解して操る事【思考は現実化するを読んで】

Amazon prime readingに「思考は現実化する_アクション・マニュアルつき」があったので読み返しました。もしもまだ一度も読まれていない、という方、絶対一度は読んだ方が良い本ですよー!

思っていることは現実になる

本書を読んで再確認したことを列挙します。 本書に書いてあった言葉ではなく、私が学んだことをアウトプットしているのでニュアンスが変わっていたりするかもしれませんが、アウトプットなのでご容赦ください。

  • 思考の力は強大で、そして極めてシンプル。 なんとかなる、と思って過ごすか、今に不幸になる、と思って過ごすかで、起こる結果は変わってくる。
  • 具体的で明確な目標を持ち、それを達成すると強く決意し、具体的で明確な計画にそって行動すれば、それは叶う。
  • 人はすべて自分の選択の結果を受けて、今の自分が出来ている。
  • 「不安」は成功を妨げる大きな要因であり、不安は「優柔不断」が「疑惑」を呼び起こして、それが結合しておこる。
  • 出来事に対しての反応を意識的にするか反射的にするかの選択肢は自分にある。

改めて学んだこと

私は様々な自己啓発本を読んできて、感情をコントロールすることの大切さを学んできました。 それ故に、感情をコントロールしよう、コントロールしよう、と思って、自分の感情を抑え込むことばかりしてきていました。結果、何が好きで何が嫌いなのかも分からなくなっていました。

やった方が良い、とかやらなければならない、という思いでやっている事が多く、結果ストレス過多っぽい体の不調がチラホラ見られます。

でも改めて本書を読み返してみて、解釈が足りていなかったと気づきました。

感情をコントロールする、というのは無理矢理心を型にはめるのではなくて、心に向き合い理解して、本当にやりたいこと、本当に好きなことを見つけ出して、それを具体的に明確にしていく事。

それに不正解はなく、すべてが正解。誰かの価値観ではなく、自分の真理に沿ったものを自分の中から見つけ出す事。

そして具体的で明確になった願望を、叶えるための具体的なステップを描いて、叶えると決意し、行動していくこと。

自分はできる、叶える事ができる、と毎日毎時繰り返し思って、自分に染み込ませて心の準備を整えて、それがふと腑に落ちた時に、願望は叶っているのでしょう。

なんだかとてもスッキリしました。

成功哲学は何度読んでも学び気づきがある!

絶対得るものがある!と私が思うおすすめ名著を列挙してみます。

人を動かす 新装版

人を動かす 新装版

完訳 7つの習慣 人格主義の回復

完訳 7つの習慣 人格主義の回復

完全版 鏡の法則

完全版 鏡の法則

「原因」と「結果」の法則 合本版

「原因」と「結果」の法則 合本版

哲学、で広げるともっとありますが、成功哲学ではこのぐらい。 どれも読んでいてワクワクするし、書いてあることをすべて実行できるなら間違いなく成功できるであろう名著です。

でも一番大切なのは、読んで終わりにするのではなく、実行して身につけていくことだと思いますので、私も落とし込む日々を送っていこうと思う次第です。イクラに激ハマりして夜更かししている場合ではないのです。

それでは!

【はてブ】Markdown記法でプログラムを書く時にシンタックスハイライト可能な言語とその指定方法

シンタックスハイライトつかないなー、なんでだろう?デザインテーマが対応してないのかなー? とぼんやり思っていましたが、なんてことない!自分が指定していなかっただけでした。

備忘録として、はてブMarkdown記法でのシンタックスハイライト適用方法と、その可能な言語リストがある場所を記載します。

 ```javascript
 const hoge = "ほげほげ"
 const fugu = "ふぐふぐ"
 ```

こんな風に書くと、

const hoge = "ほげほげ"
const fugu = "ふぐふぐ"

こうなります。見やすい!すてき!抱いて!

一覧はこちら。

ソースコードを色付けして表示する(シンタックスハイライト) - はてなブログ ヘルプ

公式マニュアルあったよ、なんだよもう!自分が見てないだけだよ、もう!

過去の記事もちょっと適用しました。見辛い問題解消されて嬉しいです。

短いですがこれにて。

全然関係ないですが、最近のオススメ漫画はこちら。

書籍化おめでとうございます!人の恋路を見守るのがライフワークな殺し屋のお話。大好きです、コロさん。

【DWEレポ】生後4ヶ月からディズニーの英語システムを使い続けて3年半経過しました

我が家はディズニーの英語システムを生後4ヶ月ぐらいの頃から利用しています。

なんで買ったの?

マタニティの頃から存在は知っていて、体験セットを取り寄せしていましたが購入には至らず、ショッピングモールに来ていたセールスの人に話を聞いて体験訪問を受けて、セールストークに魅せられ(笑)購入に至りました。

DWEのセールストークによれば、赤ちゃんの脳は生まれた時はいろんな音を聞き分けられるようにできているけれど、6ヶ月頃から聞いていない音は必要がないと脳が判断し、どんどん聞こえなくなっていくのだそうです。

日本語の音は英語に比べて少なく、日本語ばかりを聞いていると英語の音が聞き取れなくなっていく。

小学生に英語教育がはじまるが、英語が出来る子と出来る子はキッパリ分かれる。その差は聞き取れるか、聞き取れないかにある、とのこと。 聞き取れないと、わからない。わからないから嫌いになる。それは悲しいなぁ、と親心に思い、多少高くても子供の未来への投資かな、と思ってえいやっと購入しました。

使ってきての所感

基本はDVDやCDをかけっぱなしにする、聞きながし教育です。私はテレビを見っぱなしはいかがなものかと思っていたので、育休中は1時間ぐらいかけるだけでしたが、職場復帰をしたらそんな事を言ってられなくなり、だいぶお世話になっております。

赤ちゃんの頃は、実際の人が出てきたりパペット人形がしゃべったりする映像は良く見ていましたが、ミッキーのアニメとかにはまったく興味を持っていませんでした。

ミッキーのアニメに興味が出てきたのは、1歳半すぎぐらい。でもその頃にはアンパンマンなどのアニメにも興味を持ち始めて、見れるようになっていました。

DWEのアニメばかり見るのではなく、他のテレビアニメも見ていました。楽しみながら学べれば良いと思っているので、特に強要はしません。 時々、「お母さんが見たいから見ていい?」みたいな風に言って、一緒に見たりしました。

英語しゃべってる?

3歳半すぎましたが、ぶっちゃけまだまだ喋りません(笑) でも日本語もまだちょっと怪しいぐらいですし、特にどうとも思いません。 ただ、英語は聞き取れているようです。なんとなく何を言っているかわかる様子です。

ディズニー映画を吹き替えなしの英語で流して、字幕もなし、な状態でじーっと集中して見ています。 「What color is this?」のような簡単な英語のクイズを出しても、正解します。ただし、回答は英語だったり日本語だったりします(笑)そこはご愛嬌

DWEクラブのCAP取得状況

何も取れてません(笑)レポートは親の努力も必要なので、マメではない私にはまだまだ遠い道のりですが、少しづつ少しづつ進めています。4歳までにライトブルーキャップぐらいは取れるといいなぁ。

絶対喜ぶと思うので、辛くない範囲でやっていこうと思います。

終わりに。4歳で卒業とかめちゃくちゃすごない?

たまにいらっしゃるみたいですが、小学1年生で英検とか、それ以下で、とか…。それってめちゃくちゃすごない!?

親としての努力、ほんとーーに素晴らしいです。子供が楽しんで勉強できているならば尚のこと。子供が興味を持つ、持たないは大きいとは思いますが、その辺は親と子双方のモチベーションかなと思います。

私個人としては、無理なく楽しく。少なくとも、小学生になって勉強についていけずに辛い思いをしない程度に、英語を楽しんでもらえたら嬉しいなーと思う次第です。

何より、日本語圏の人以外とコミュニケーションが取れるなら、それは何より素晴らしいことです。経験は財産で、コミュニケーションは人生を豊かにするものと信じています。

ぼちぼち楽しんで続けていこうと思っております。