前提
railsでユーザー管理機能を追加しようとGemfileにdeviseを追加しました。
その後にbundle installを実行するとエラーメッセージが表示されました。
実現したいこと
- ユーザー管理機能を動作するようにする
発生している問題・エラーメッセージ
Fetching bcrypt 3.1.18 Installing bcrypt 3.1.18 with native extensions Errno::EACCES: Permission denied @ rb_sysopen - /Users/yukihito/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/bcrypt-3.1.18/.github/workflows/ruby.yml An error occurred while installing bcrypt (3.1.18), and Bundler cannot continue. Make sure that `gem install bcrypt -v '3.1.18' --source 'https://rubygems.org/'` succeeds before bundling. In Gemfile: devise was resolved to 4.8.1, which depends on bcrypt
該当のソースコード
gemfile
1source 'https://rubygems.org' 2git_source(:github) { |repo| "https://github.com/#{repo}.git" } 3 4ruby '2.6.5' 5 6# Bundle edge Rails instead: gem 'rails', github: 'rails/rails' 7gem 'rails', '~> 6.0.0' 8# Use mysql as the database for Active Record 9gem 'mysql2', '>= 0.5.3' 10# Use Puma as the app server 11gem 'puma', '~> 3.11' 12# Use SCSS for stylesheets 13gem 'sass-rails', '~> 5' 14# Transpile app-like JavaScript. Read more: https://github.com/rails/webpacker 15gem 'webpacker', '~> 4.0' 16# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks 17gem 'turbolinks', '~> 5' 18# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder 19gem 'jbuilder', '~> 2.7' 20# Use Redis adapter to run Action Cable in production 21# gem 'redis', '~> 4.0' 22# Use Active Model has_secure_password 23# gem 'bcrypt', '~> 3.1.7' 24 25# Use Active Storage variant 26# gem 'image_processing', '~> 1.2' 27 28# Reduces boot times through caching; required in config/boot.rb 29gem 'bootsnap', '>= 1.4.2', require: false 30 31group :development, :test do 32 # Call 'byebug' anywhere in the code to stop execution and get a debugger console 33 gem 'byebug', platforms: [:mri, :mingw, :x64_mingw] 34end 35 36group :development do 37 # Access an interactive console on exception pages or by calling 'console' anywhere in the code. 38 gem 'web-console', '>= 3.3.0' 39 gem 'listen', '>= 3.0.5', '< 3.2' 40 # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring 41 gem 'spring' 42 gem 'spring-watcher-listen', '~> 2.0.0' 43end 44 45group :test do 46 # Adds support for Capybara system testing and selenium driver 47 gem 'capybara', '>= 2.15' 48 gem 'selenium-webdriver' 49 # Easy installation and use of web drivers to run system tests with browsers 50 gem 'webdrivers' 51end 52 53# Windows does not include zoneinfo files, so bundle the tzinfo-data gem 54gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby] 55 56gem 'pry-rails' 57gem 'devise' 58
試したこと
- 調べてみると、bcryptでのエラーと思いましたので以下のコードを実行しましたがうまくいきません
sudo gem install bcrypt
- gemfileにbcryptを追加してみましたがうまくできませんでした。
- ちなみにdeviseを削除してbundole installすると成功しました。
以上、教えて頂けると嬉しいです。よろしくお願いします。
Make sure that `gem install bcrypt -v '3.1.18'
とありますが、試しましたか?
回答ありがとうございます。試してみましたが以下の通りでした。
```
ERROR: While executing gem ... (Errno::EACCES)
Permission denied @ rb_sysopen - /Users/yukihito/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/bcrypt-3.1.18/.github/workflows/ruby.yml
/Users/yukihito/.rbenv/versions/2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/package.rb:448:in `initialize'
/Users/yukihito/.rbenv/versions/2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/package.rb:448:in `open'
/Users/yukihito/.rbenv/versions/2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/package.rb:448:in `block (2 levels) in extract_tar_gz'
/Users/yukihito/.rbenv/versions/2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/package/tar_reader.rb:65:in `each'
/Users/yukihito/.rbenv/versions/2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/package.rb:415:in `block in extract_tar_gz'
/Users/yukihito/.rbenv/versions/2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/package.rb:541:in `block in open_tar_gz'
/Users/yukihito/.rbenv/versions/2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/package.rb:538:in `wrap'
/Users/yukihito/.rbenv/versions/2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/package.rb:538:in `open_tar_gz'
/Users/yukihito/.rbenv/versions/2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/package.rb:414:in `extract_tar_gz'
/Users/yukihito/.rbenv/versions/2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/package.rb:392:in `block (2 levels) in extract_files'
/Users/yukihito/.rbenv/versions/2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/package/tar_reader.rb:65:in `each'
/Users/yukihito/.rbenv/versions/2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/package.rb:389:in `block in extract_files'
/Users/yukihito/.rbenv/versions/2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/package/file_source.rb:29:in `open'
/Users/yukihito/.rbenv/versions/2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/package/file_source.rb:29:in `with_read_io'
/Users/yukihito/.rbenv/versions/2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/package.rb:386:in `extract_files'
/Users/yukihito/.rbenv/versions/2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/installer.rb:852:in `extract_files'
/Users/yukihito/.rbenv/versions/2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/installer.rb:324:in `install'
/Users/yukihito/.rbenv/versions/2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/resolver/specification.rb:104:in `install'
/Users/yukihito/.rbenv/versions/2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/request_set.rb:194:in `block in install'
/Users/yukihito/.rbenv/versions/2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/request_set.rb:182:in `each'
/Users/yukihito/.rbenv/versions/2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/request_set.rb:182:in `install'
/Users/yukihito/.rbenv/versions/2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/commands/install_command.rb:214:in `install_gem'
/Users/yukihito/.rbenv/versions/2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/commands/install_command.rb:230:in `block in install_gems'
/Users/yukihito/.rbenv/versions/2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/commands/install_command.rb:223:in `each'
/Users/yukihito/.rbenv/versions/2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/commands/install_command.rb:223:in `install_gems'
/Users/yukihito/.rbenv/versions/2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/commands/install_command.rb:169:in `execute'
/Users/yukihito/.rbenv/versions/2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/command.rb:323:in `invoke_with_build_args'
/Users/yukihito/.rbenv/versions/2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/command_manager.rb:251:in `invoke_command'
/Users/yukihito/.rbenv/versions/2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/command_manager.rb:191:in `process_args'
/Users/yukihito/.rbenv/versions/2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/command_manager.rb:149:in `run'
/Users/yukihito/.rbenv/versions/2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/gem_runner.rb:51:in `run'
/Users/yukihito/.rbenv/versions/2.6.5/bin/gem:10:in `<main>'
```
パーミッションが拒否されて、rb_sysopen -とあるのですがどういう意味なのかがわかりません。
回答ありがとうございます。
- rb_sysopen -については権限がrootになっておりそれによりエラーが出現している。
- それを自分のuser nameに変更すれば良いということがわかりました。
ありがとうございます。
しかし、またエラーが出現してしまいましたが、この部分までの解決で進めそうなところまで来ることが来ました。
本当にありがとうございました。

回答1件
あなたの回答
tips
プレビュー