質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Q&A

解決済

2回答

2443閲覧

OpenSSLシンボリックリンクが作成されない、Permission Deniedが表示されrbenv installを実行するもビルドが失敗する。

0x00000124

総合スコア7

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

0グッド

0クリップ

投稿2017/05/07 07:28

初めまして。MacにてRubyでの開発環境の準備を進めている者です。
現在の環境は、
Macbook Retina,12-inch,Early 2016
macOS Sierra 10.12.4
アカウント名 USER
(管理者アカウントであり、また他にアカウントは存在しません。)
コンピュータ名 MB12

【macOS Sierra】Mac OSX 10.12 macOS Sierra にRuby + Rails4 開発環境の構築 【初心者必見】
上記のサイトをもとに現在、Rubyの開発環境構築を行なっているのですが、
2つの問題が解決できずにいます。

①OpenSSLのインストールとシンボリックリンクが作成されない件。
$ brew install openssl
を実行するも、
Warning: openssl is a keg-only and another version is linked to opt.
Use brew install --force if you want to install this version
と表示され、正常にインストールができませんでした。
上記のメッセージにある通り、
$ brew install openssl --force
でコマンドを実行するも、
Warning: Refusing to link: openssl
Linking keg-only openssl means you may end up linking against the insecure,
deprecated system OpenSSL while using the headers from Homebrew's openssl.
Instead, pass the full include/library paths to your compiler e.g.:
-I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib
というメッセージが表示されました。
このメッセージの解決方法をご教授願いたいです。

②rbenv installの部分でPermission Deniedが表示され、ビルドが失敗する問題。
①で発生している問題を一旦無視して、rubyのインストール
$ rbenv install 2.4.1
(2.4.1をインストール予定)
を実行するも、
mkdir: /Users/USER: Permission denied

BUILD FAILED (OS X 10.12.4 using ruby-build 20170322)

Inspect or clean up the working tree at /var/folders/3j/bwz2dr5s0d37yd5td35xprth0000gn/T/ruby-build.20170507144152.54250
Results logged to /var/folders/3j/bwz2dr5s0d37yd5td35xprth0000gn/T/ruby-build.20170507144152.54250.log

Last 10 log lines:
/var/folders/3j/bwz2dr5s0d37yd5td35xprth0000gn/T/ruby-build.20170507144152.54250 ~
/var/folders/3j/bwz2dr5s0d37yd5td35xprth0000gn/T/ruby-build.20170507144152.54250/ruby-2.4.1 /var/folders/3j/bwz2dr5s0d37yd5td35xprth0000gn/T/ruby-build.20170507144152.54250 ~

と表示され、ビルドが失敗する状態です。
文中に、
mkdir: /Users/USER: Permission denied
とあるので、/Users/USERに対する権限が不足しているのではと思い、
Finderでアクセス権を変更し、USER(アカウント名)が内包されている項目
を含めて読み/書きできるようにして再度実行するも同じ状態でした。

sudoをつければ実行できると思い、
$ sudo rbenv install 2.4.1
を実行すると、インストールは正常に終わるのですが、
その後のRailsのインストール時の
$ gem install rails
を実行すると、
/usr/local/Cellar/rbenv/1.1.0/libexec/rbenv-exec: /Users/USER 1/.rbenv/versions/2.2.3/bin/gem: /Users/USER/.rbenv/versions/2.2.3/bin/ruby: bad interpreter: No such file or directory
と表示され、
$ gem install bundler
を実行すると、
/usr/local/Cellar/rbenv/1.1.0/libexec/rbenv-exec: line 47: /Users/USER 1/.rbenv/versions/2.2.3/bin/gem: Undefined error: 0
となってしまい、構築ができない問題が起きてしまいました。

システムワイドインストールを行う必要はないと思うのですが、sudoで
実行しないとインストールさえできないのがなぜなのか、
どうすればsudoをつけない状態で実行してPermission deniedを
解決できるのかをご教授願いたいです

現状、何をどうすればインストールが全て完了するのかさっぱりな状態です。
不足している情報等ありましたら開示しますので、ご回答願えればと思います。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

自己解決

MacOSを再インストールして再度実行した結果、正常にインストールできました。
原因は不明※でしたが、自己解決したのでご報告いたします。

[※原因として考えられた要因]
・前に使っていたiMacからデータを引き継いで使用しており、引き継いだ際にアカウント名が正常に継承されていなかった(USER⇒USER1に勝手に変わっていた)ため、USERに変更した。このタイミングでホームディレクトリ名もUSERに変更していた。しかし、ユーザーディレクトリ内にUSER1フォルダ、削除されたユーザフォルダにUSERフォルダが出来上がっており、ruby本体がUSERフォルダ内にインストールされていた。

[解決策]
・データの引継ぎを行わずにOSを再インストールしました。
・アカウント名を USER から変え、コンソール画面でアカウント名なのかディレクトリなのかを判別しやすくしました。
・権限の確認、隠しファイルの表示を行い、質問文面中のサイトに基づいて、インストールを行いました。

投稿2017/05/14 14:31

0x00000124

総合スコア7

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

macでローカル環境のopensslをバージョンアップする手順でどうでしょうか?
うちで試せる環境に無いので、拾ってきただけで申し訳ありませんが。

投稿2017/05/07 13:49

yoorwm

総合スコア1305

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0x00000124

2017/05/13 06:51

ご回答ありがとうございます。 リンク先の内容を実行させていただきましたが、link openssl --forceの部分で Warning: Refusing to link: openssl Linking keg-only openssl means you may end up linking against the insecure, deprecated system OpenSSL while using the headers from Homebrew's openssl. Instead, pass the full include/library paths to your compiler e.g.: -I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib と質問文面と同じ警告が表示されてしまいました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問