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

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

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

Terminalは、Apple社のmacOSに標準で付属しているUNIX端末エミュレータ。UNIXコマンドによってMacの操作および設定を行うことができます。

Ruby

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

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

パーミッション

パーミッション(許可)は、ファイルシステム、データベース、そして他のコンピュータシステムに対するユーザーのアクセス権のことを指します。

Q&A

解決済

1回答

2329閲覧

rails アプリ作成時の権限設定について

退会済みユーザー

退会済みユーザー

総合スコア0

terminal

Terminalは、Apple社のmacOSに標準で付属しているUNIX端末エミュレータ。UNIXコマンドによってMacの操作および設定を行うことができます。

Ruby

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

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

パーミッション

パーミッション(許可)は、ファイルシステム、データベース、そして他のコンピュータシステムに対するユーザーのアクセス権のことを指します。

0グッド

1クリップ

投稿2020/08/31 16:28

railsでアプリを作ろうとしています。
しかしrails newでディレクトリを作ろうとした時に以下のエラーが出ました。

私の名前@MacBook-Pro ~ % rails new t

...
...
...

Installing msgpack 1.3.3 with native extensions Errno::EACCES: Permission denied @ dir_s_mkdir - /Users/私の名前/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/extensions/x86_64-darwin-19/2.6.0/msgpack-1.3.3 An error occurred while installing msgpack (1.3.3), and Bundler cannot continue. Make sure that `gem install msgpack -v '1.3.3' --source 'https://rubygems.org/'` succeeds before bundling. In Gemfile: bootsnap was resolved to 1.4.8, which depends on msgpack run bundle binstubs bundler Could not find gem 'rails (~> 6.0.3, >= 6.0.3.2)' in any of the gem sources listed in your Gemfile. run bundle exec spring binstub --all bundler: command not found: spring Install missing gem executables with `bundle install` rails webpacker:install Could not find gem 'rails (~> 6.0.3, >= 6.0.3.2)' in any of the gem sources listed in your Gemfile. Run `bundle install` to install missing gems.

Make sure that `gem install msgpack -v '1.3.3' ということなので以下のコマンドを実行しました。

gem install msgpack -v '1.3.3'

しかし、これでも以下の様なエラーが出ます。

Building native extensions. This could take a while... ERROR: While executing gem ... (Errno::EACCES) Permission denied @ dir_s_mkdir - /Users/私の名前/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/extensions/x86_64-darwin-19/2.6.0/msgpack-1.3.3

そこで調べると、ディレクトリやファイルの所有権に問題がある可能性があるとの情報を見ました。

作成したディレクトリに移動し、各ディレクトリ、ファイルのパーミッションを確認をしたところ以下のような結果でした。

私の名前@MacBook-Pro t % ls -la total 56 drwxr-xr-x 21 私の名前 staff 672 9 1 00:22 . drwxr-xr-x+ 35 私の名前 staff 1120 9 1 00:22 .. drwxr-xr-x 9 私の名前 staff 288 9 1 00:22 .git -rw-r--r-- 1 私の名前 staff 766 9 1 00:22 .gitignore -rw-r--r-- 1 私の名前 staff 6 9 1 00:22 .ruby-version -rw-r--r-- 1 私の名前 staff 1965 9 1 00:22 Gemfile -rw-r--r-- 1 私の名前 staff 374 9 1 00:22 README.md -rw-r--r-- 1 私の名前 staff 227 9 1 00:22 Rakefile drwxr-xr-x 11 私の名前 staff 352 9 1 00:22 app drwxr-xr-x 6 私の名前 staff 192 9 1 00:22 bin drwxr-xr-x 16 私の名前 staff 512 9 1 00:22 config -rw-r--r-- 1 私の名前 staff 130 9 1 00:22 config.ru drwxr-xr-x 3 私の名前 staff 96 9 1 00:22 db drwxr-xr-x 4 私の名前 staff 128 9 1 00:22 lib drwxr-xr-x 3 私の名前 staff 96 9 1 00:22 log -rw-r--r-- 1 私の名前 staff 213 9 1 00:22 package.json drwxr-xr-x 9 私の名前 staff 288 9 1 00:22 public drwxr-xr-x 3 私の名前 staff 96 9 1 00:22 storage drwxr-xr-x 12 私の名前 staff 384 9 1 00:22 test drwxr-xr-x 6 私の名前 staff 192 9 1 00:22 tmp drwxr-xr-x 3 私の名前 staff 96 9 1 00:22 vendor

権限は全て私になっているようです。
気になるのがGemfileやREADME.mdファイルなどに対してexecuteの権限がないことです。ここにエラーの原因があると考えているのですが、皆さんはいかが考えますでしょうか?chmodで変えるべきでしょうか?

バージョン

rails 6.0.3.2
ruby 2.6.6
Bundler version 2.1.4
gem 3.1.4

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

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

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

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

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

guest

回答1

0

ベストアンサー

私の名前@MacBook-Pro t %

問題は、

/Users/私の名前/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/extensions/x86_64-darwin-19/2.6.0/msgpack-1.3.3

こっちのディレクトリです。

おそらく、rbenv installした際に誤ってsudoをつけたせいで
~/.rbenv/versions/2.6.6/以下のownerがrootになっているかと思います。

$ sudo chown -R 私の名前:staff ~/.rbenv/versions

投稿2020/08/31 23:30

asm

総合スコア15147

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

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

退会済みユーザー

退会済みユーザー

2020/09/04 16:54

返事が遅くなってしまいました。 いただいたアドバイスを参考にやってみましたが再度上手くいかず。。。 別の方法を調べてまた試してみます。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問