RailsGirls_day.1-3retry
Rails Girls インストール・レシピ:クラウドサービスを利用する Rails Girls - Japanese
ということで再挑戦です。
- rbenv を使って Ruby の version を最新にする
kabe:~/environment $ ruby -v ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux] kabe:~/environment $ which ruby /usr/local/rvm/rubies/ruby-2.4.1/bin/ruby
この状態からスタート。 まずは/home/ec2-user/の配下にrbenvとruby-buildをclone
kabe:~/environment $ git clone https://github.com/rbenv/rbenv.git ~/.rbenv Cloning into '/home/ec2-user/.rbenv'... remote: Counting objects: 2697, done. remote: Compressing objects: 100% (21/21), done. remote: Total 2697 (delta 13), reused 21 (delta 10), pack-reused 2666 Receiving objects: 100% (2697/2697), 506.27 KiB | 631.00 KiB/s, done. Resolving deltas: 100% (1682/1682), done. kabe:~/environment $ git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build Cloning into '/home/ec2-user/.rbenv/plugins/ruby-build'... remote: Counting objects: 8347, done. remote: Compressing objects: 100% (3/3), done. remote: Total 8347 (delta 1), reused 1 (delta 0), pack-reused 8344 Receiving objects: 100% (8347/8347), 1.75 MiB | 2.06 MiB/s, done. Resolving deltas: 100% (5280/5280), done.
PATHをとおして
echo 'PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile echo 'eval "$(rbenv init -)"' >> ~/.bash_profile source ~/.bash_profile
インストールして使用バージョンを指定。
kabe:~ $ rbenv install 2.4.2 Downloading ruby-2.4.2.tar.bz2... -> https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.2.tar.bz2 Installing ruby-2.4.2... Installed ruby-2.4.2 to /home/ec2-user/.rbenv/versions/2.4.2 kabe:~ $ rbenv global 2.4.2 kabe:~ $ which ruby ~/.rbenv/shims/ruby
普通に行けたやないか…
5.Bundlerのインストール
kabe:~ $ gem install bundler --no-document Ignoring executable-hooks-1.3.2 because its extensions are not built. Try: gem pristine executable-hooks --version 1.3.2 Ignoring gem-wrappers-1.3.2 because its extensions are not built. Try: gem pristine gem-wrappers --version 1.3.2 Ignoring nio4r-2.1.0 because its extensions are not built. Try: gem pristine nio4r --version 2.1.0 Ignoring nokogiri-1.8.1 because its extensions are not built. Try: gem pristine nokogiri --version 1.8.1 Ignoring websocket-driver-0.6.5 because its extensions are not built. Try: gem pristine websocket-driver --version 0.6.5 Error loading RubyGems plugin "/usr/local/rvm/gems/ruby-2.4.1@global/gems/executable-hooks-1.3.2/lib/rubygems_plugin.rb": cannot load such file -- executable-hooks/wrapper (LoadError) Error loading RubyGems plugin "/usr/local/rvm/gems/ruby-2.4.1@global/gems/gem-wrappers-1.3.2/lib/rubygems_plugin.rb": cannot load such file -- gem-wrappers (LoadError) Fetching: bundler-1.16.0.gem (100%) ERROR: While executing gem ... (Gem::FilePermissionError) You don't have write permissions for the /usr/local/rvm/gems/ruby-2.4.1 directory.
なんで/usr/local/rvm/gems/ruby-2.4.1
を見に行っちゃうんだろ。
kabe:~/environment $ gem environment Ignoring executable-hooks-1.3.2 because its extensions are not built. Try: gem pristine executable-hooks --version 1.3.2 Ignoring gem-wrappers-1.3.2 because its extensions are not built. Try: gem pristine gem-wrappers --version 1.3.2 Ignoring nio4r-2.1.0 because its extensions are not built. Try: gem pristine nio4r --version 2.1.0 Ignoring nokogiri-1.8.1 because its extensions are not built. Try: gem pristine nokogiri --version 1.8.1 Ignoring websocket-driver-0.6.5 because its extensions are not built. Try: gem pristine websocket-driver --version 0.6.5 Error loading RubyGems plugin "/usr/local/rvm/gems/ruby-2.4.1@global/gems/executable-hooks-1.3.2/lib/rubygems_plugin.rb": cannot load such file -- executable-hooks/wrapper (LoadError) Error loading RubyGems plugin "/usr/local/rvm/gems/ruby-2.4.1@global/gems/gem-wrappers-1.3.2/lib/rubygems_plugin.rb": cannot load such file -- gem-wrappers (LoadError) RubyGems Environment: - RUBYGEMS VERSION: 2.6.13 - RUBY VERSION: 2.4.2 (2017-09-14 patchlevel 198) [x86_64-linux] - INSTALLATION DIRECTORY: /usr/local/rvm/gems/ruby-2.4.1 - USER INSTALLATION DIRECTORY: /home/ec2-user/.gem/ruby/2.4.0 - RUBY EXECUTABLE: /home/ec2-user/.rbenv/versions/2.4.2/bin/ruby - EXECUTABLE DIRECTORY: /usr/local/rvm/gems/ruby-2.4.1/bin - SPEC CACHE DIRECTORY: /home/ec2-user/.gem/specs - SYSTEM CONFIGURATION DIRECTORY: /home/ec2-user/.rbenv/versions/2.4.2/etc - RUBYGEMS PLATFORMS: - ruby - x86_64-linux - GEM PATHS: - /usr/local/rvm/gems/ruby-2.4.1 - /usr/local/rvm/gems/ruby-2.4.1@global - GEM CONFIGURATION: - :update_sources => true - :verbose => true - :backtrace => false - :bulk_threshold => 1000 - REMOTE SOURCES: - https://rubygems.org/ - SHELL PATH: - /home/ec2-user/.rbenv/versions/2.4.2/bin - /home/ec2-user/.rbenv/libexec - /home/ec2-user/.rbenv/plugins/ruby-build/bin - /home/ec2-user/.rbenv/shims - /home/ec2-user/.rbenv/bin - /home/ec2-user/.nvm/versions/node/v6.11.4/bin - /usr/local/rvm/gems/ruby-2.4.1/bin - /usr/local/rvm/gems/ruby-2.4.1@global/bin - /usr/local/rvm/rubies/ruby-2.4.1/bin - /usr/local/bin - /bin - /usr/bin - /home/ec2-user/.local/bin - /home/ec2-user/bin - /usr/local/sbin - /usr/sbin - /sbin - /opt/aws/bin - /usr/local/rvm/bin - /home/ec2-user/.local/bin - /home/ec2-user/bin - /home/ec2-user/.local/bin - /home/ec2-user/bin - /home/ec2-user/.local/bin - /home/ec2-user/bin - /home/ec2-user/.local/bin - /home/ec2-user/bin
うーん…どうもrvm管理のものと混ざってしまっているように見える(´;ω;`)
which gem
すると~/.rbenv/shims/gem
が返ってくるんだけど、GEM PATHSにこのパスが無いのがおかしい??のかな??
調べてる途中でsudo
してしまって通っちゃった
kabe:~/environment $ sudo gem install bundler --no-rdoc --no-ri Fetching: bundler-1.16.0.gem (100%) GemWrappers: Can not wrap missing file: bundle GemWrappers: Can not wrap missing file: bundler GemWrappers: Can not wrap missing file: sprockets GemWrappers: Can not wrap missing file: thor GemWrappers: Can not wrap missing file: rackup GemWrappers: Can not wrap missing file: bundle GemWrappers: Can not wrap missing file: rails GemWrappers: Can not wrap missing file: ruby_executable_hooks GemWrappers: Can not wrap missing file: rake GemWrappers: Can not wrap missing file: nokogiri GemWrappers: Can not wrap missing file: bundler Successfully installed bundler-1.16.0 1 gem installed kabe:~/environment $ sudo gem install rails --no-document GemWrappers: Can not wrap missing file: sprockets GemWrappers: Can not wrap missing file: thor GemWrappers: Can not wrap missing file: rackup GemWrappers: Can not wrap missing file: bundle GemWrappers: Can not wrap missing file: rails GemWrappers: Can not wrap missing file: ruby_executable_hooks GemWrappers: Can not wrap missing file: rake GemWrappers: Can not wrap missing file: nokogiri GemWrappers: Can not wrap missing file: bundler Successfully installed rails-5.1.4 1 gem installed
これで先にすすめるんだろうか…一旦やってみる。
kabe:~/environment $ mkdir projects kabe:~/environment $ cd projects kabe:~/environment/projects $ rails new railsgirls Ignoring executable-hooks-1.3.2 because its extensions are not built. Try: gem pristine executable-hooks --version 1.3.2 Ignoring gem-wrappers-1.3.2 because its extensions are not built. Try: gem pristine gem-wrappers --version 1.3.2 Ignoring nio4r-2.1.0 because its extensions are not built. Try: gem pristine nio4r --version 2.1.0 Ignoring nokogiri-1.8.1 because its extensions are not built. Try: gem pristine nokogiri --version 1.8.1 Ignoring websocket-driver-0.6.5 because its extensions are not built. Try: gem pristine websocket-driver --version 0.6.5 create create README.md create Rakefile create config.ru create .gitignore create Gemfile run git init from "." Initialized empty Git repository in /home/ec2-user/environment/projects/railsgirls/.git/ create app create app/assets/config/manifest.js create app/assets/javascripts/application.js create app/assets/javascripts/cable.js create app/assets/stylesheets/application.css create app/channels/application_cable/channel.rb create app/channels/application_cable/connection.rb create app/controllers/application_controller.rb create app/helpers/application_helper.rb create app/jobs/application_job.rb create app/mailers/application_mailer.rb create app/models/application_record.rb create app/views/layouts/application.html.erb create app/views/layouts/mailer.html.erb create app/views/layouts/mailer.text.erb create app/assets/images/.keep create app/assets/javascripts/channels create app/assets/javascripts/channels/.keep create app/controllers/concerns/.keep create app/models/concerns/.keep create bin create bin/bundle create bin/rails create bin/rake create bin/setup create bin/update create bin/yarn create config create config/routes.rb create config/application.rb create config/environment.rb create config/secrets.yml create config/cable.yml create config/puma.rb create config/spring.rb create config/environments create config/environments/development.rb create config/environments/production.rb create config/environments/test.rb create config/initializers create config/initializers/application_controller_renderer.rb create config/initializers/assets.rb create config/initializers/backtrace_silencers.rb create config/initializers/cookies_serializer.rb create config/initializers/cors.rb create config/initializers/filter_parameter_logging.rb create config/initializers/inflections.rb create config/initializers/mime_types.rb create config/initializers/new_framework_defaults_5_1.rb create config/initializers/wrap_parameters.rb create config/locales create config/locales/en.yml create config/boot.rb create config/database.yml create db create db/seeds.rb create lib create lib/tasks create lib/tasks/.keep create lib/assets create lib/assets/.keep create log create log/.keep create public create public/404.html create public/422.html create public/500.html create public/apple-touch-icon-precomposed.png create public/apple-touch-icon.png create public/favicon.ico create public/robots.txt create test/fixtures create test/fixtures/.keep create test/fixtures/files create test/fixtures/files/.keep create test/controllers create test/controllers/.keep create test/mailers create test/mailers/.keep create test/models create test/models/.keep create test/helpers create test/helpers/.keep create test/integration create test/integration/.keep create test/test_helper.rb create test/system create test/system/.keep create test/application_system_test_case.rb create tmp create tmp/.keep create tmp/cache create tmp/cache/assets create vendor create vendor/.keep create package.json remove config/initializers/cors.rb remove config/initializers/new_framework_defaults_5_1.rb run bundle install Ignoring executable-hooks-1.3.2 because its extensions are not built. Try: gem pristine executable-hooks --version 1.3.2 Ignoring gem-wrappers-1.3.2 because its extensions are not built. Try: gem pristine gem-wrappers --version 1.3.2 Ignoring nio4r-2.1.0 because its extensions are not built. Try: gem pristine nio4r --version 2.1.0 Ignoring nokogiri-1.8.1 because its extensions are not built. Try: gem pristine nokogiri --version 1.8.1 Ignoring websocket-driver-0.6.5 because its extensions are not built. Try: gem pristine websocket-driver --version 0.6.5 --- ERROR REPORT TEMPLATE ------------------------------------------------------- # Error Report ## Questions Please fill out answers to these questions, it'll help us figure out why things are going wrong. - **What did you do?** I ran the command `/usr/local/rvm/gems/ruby-2.4.1@global/gems/bundler-1.16.0/exe/bundle install` - **What did you expect to happen?** I expected Bundler to... - **What happened instead?** Instead, what happened was... - **Have you tried any solutions posted on similar issues in our issue tracker, stack overflow, or google?** I tried... - **Have you read our issues document, https://github.com/bundler/bundler/blob/master/doc/contributing/ISSUES.md?** ... ## Backtrace ` Errno::ENOTDIR: Not a directory @ rb_sysopen - /home/ec2-user/.rbenv/shims/gem/bundler.lock /usr/local/rvm/gems/ruby-2.4.1@global/gems/bundler-1.16.0/lib/bundler/process_lock.rb:9:in `initialize' /usr/local/rvm/gems/ruby-2.4.1@global/gems/bundler-1.16.0/lib/bundler/process_lock.rb:9:in `open' /usr/local/rvm/gems/ruby-2.4.1@global/gems/bundler-1.16.0/lib/bundler/process_lock.rb:9:in `lock' /usr/local/rvm/gems/ruby-2.4.1@global/gems/bundler-1.16.0/lib/bundler/installer.rb:72:in `run' /usr/local/rvm/gems/ruby-2.4.1@global/gems/bundler-1.16.0/lib/bundler/installer.rb:25:in `install' /usr/local/rvm/gems/ruby-2.4.1@global/gems/bundler-1.16.0/lib/bundler/cli/install.rb:65:in `run' /usr/local/rvm/gems/ruby-2.4.1@global/gems/bundler-1.16.0/lib/bundler/cli.rb:224:in `block in install' /usr/local/rvm/gems/ruby-2.4.1@global/gems/bundler-1.16.0/lib/bundler/settings.rb:136:in `temporary' /usr/local/rvm/gems/ruby-2.4.1@global/gems/bundler-1.16.0/lib/bundler/cli.rb:223:in `install' /usr/local/rvm/gems/ruby-2.4.1@global/gems/bundler-1.16.0/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run' /usr/local/rvm/gems/ruby-2.4.1@global/gems/bundler-1.16.0/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command' /usr/local/rvm/gems/ruby-2.4.1@global/gems/bundler-1.16.0/lib/bundler/vendor/thor/lib/thor.rb:387:in `dispatch' /usr/local/rvm/gems/ruby-2.4.1@global/gems/bundler-1.16.0/lib/bundler/cli.rb:27:in `dispatch' /usr/local/rvm/gems/ruby-2.4.1@global/gems/bundler-1.16.0/lib/bundler/vendor/thor/lib/thor/base.rb:466:in `start' /usr/local/rvm/gems/ruby-2.4.1@global/gems/bundler-1.16.0/lib/bundler/cli.rb:18:in `start' /usr/local/rvm/gems/ruby-2.4.1@global/gems/bundler-1.16.0/exe/bundle:30:in `block in <main>' /usr/local/rvm/gems/ruby-2.4.1@global/gems/bundler-1.16.0/lib/bundler/friendly_errors.rb:122:in `with_friendly_errors' /usr/local/rvm/gems/ruby-2.4.1@global/gems/bundler-1.16.0/exe/bundle:22:in `<main>' ` ## Environment ` Bundler 1.16.0 Platforms ruby, x86_64-linux Ruby 2.4.2p198 (2017-09-14 revision 59899) [x86_64-linux] Full Path /home/ec2-user/.rbenv/versions/2.4.2/bin/ruby Config Dir /home/ec2-user/.rbenv/versions/2.4.2/etc RubyGems 2.6.13 Gem Home /home/ec2-user/.rbenv/shims/gem Gem Path User Path /home/ec2-user/.gem/ruby/2.4.0 Bin Dir /home/ec2-user/.rbenv/shims/gem/bin OpenSSL Compiled OpenSSL 1.0.2k 26 Jan 2017 Loaded OpenSSL 1.0.2k-fips 26 Jan 2017 Cert File /etc/pki/tls/cert.pem Cert Dir /etc/pki/tls/certs Tools Git 2.13.6 RVM 1.29.3 (latest) rbenv rbenv 1.1.1-25-g6aa70b6 chruby not installed ` ## Bundler Build Metadata ` Built At 2017-10-31 Git SHA 10f20fa33 Released Version true ` ## Bundler settings ` path Set for the current user (/home/ec2-user/.bundle/config): "/home/ec2-user/.rbenv/shims/gem" disable_shared_gems Set for the current user (/home/ec2-user/.bundle/config): true ` ## Gemfile ### Gemfile `ruby source 'https://rubygems.org' git_source(:github) do |repo_name| repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/") "https://github.com/#{repo_name}.git" end # Bundle edge Rails instead: gem 'rails', github: 'rails/rails' gem 'rails', '~> 5.1.4' # Use sqlite3 as the database for Active Record gem 'sqlite3' # Use Puma as the app server gem 'puma', '~> 3.7' # Use SCSS for stylesheets gem 'sass-rails', '~> 5.0' # Use Uglifier as compressor for JavaScript assets gem 'uglifier', '>= 1.3.0' # See https://github.com/rails/execjs#readme for more supported runtimes # gem 'therubyracer', platforms: :ruby # Use CoffeeScript for .coffee assets and views gem 'coffee-rails', '~> 4.2' # Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks gem 'turbolinks', '~> 5' # Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder gem 'jbuilder', '~> 2.5' # Use Redis adapter to run Action Cable in production # gem 'redis', '~> 3.0' # Use ActiveModel has_secure_password # gem 'bcrypt', '~> 3.1.7' # Use Capistrano for deployment # gem 'capistrano-rails', group: :development group :development, :test do # Call 'byebug' anywhere in the code to stop execution and get a debugger console gem 'byebug', platforms: [:mri, :mingw, :x64_mingw] # Adds support for Capybara system testing and selenium driver gem 'capybara', '~> 2.13' gem 'selenium-webdriver' end group :development do # Access an IRB console on exception pages or by using <%= console %> anywhere in the code. gem 'web-console', '>= 3.3.0' gem 'listen', '>= 3.0.5', '< 3.2' # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring gem 'spring' gem 'spring-watcher-listen', '~> 2.0.0' end # Windows does not include zoneinfo files, so bundle the tzinfo-data gem gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby] ` ### Gemfile.lock ` <No /home/ec2-user/environment/projects/railsgirls/Gemfile.lock found> ` --- TEMPLATE END ---------------------------------------------------------------- Unfortunately, an unexpected error occurred, and Bundler cannot continue. First, try this link to see if there are any existing issue reports for this error: https://github.com/bundler/bundler/search?q=Not+a+directory+%40+rb_sysopen+-+%2Fhome%2Fec2-user%2F.rbenv%2Fshims%2Fgem%2Fbundler.lock&type=Issues If there aren't any reports for this error yet, please create copy and paste the report template above into a new issue. Don't forget to anonymize any private data! The new issue form is located at: https://github.com/bundler/bundler/issues/new run bundle exec spring binstub --all bundler: command not found: spring Install missing gem executables with `bundle install`
やっぱりねー! やっぱ一度rvmを削除してrbenvでRubyインストールするところから始めたほうがよさそうな気がしてきました。 もう一度最初から。