ルール
- エラー内容
- 発生した原因
- 解消方法
全て記述すること。
Cloud9での環境構築は以下のエントリを参照した。
rvm関連
Unknown ruby interpreter version (do not know how to handle): hoge.
=> (原因)rvm use hoge --default
を実行
すでにgemsetの名前にhogeが設定されているものだと思ってた。
=> (解消)rvm use 2.0.0-p648@hoge --default
を実行
YAML safe loading is not available. Please upgrade psych to a version that supports safe loading (>= 2.0).
=> (原因)Railsのpsychというgemのバージョンが古い?
=> (解消)この辺やったようなやってないような。
Rubymine関連
Cloud9環境関連
There was an error(23).
There was an error(23). Checking fallback: ftp://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz Checking fallback: https://www.mirrorservice.org/sites/pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz No fallback URL could be found, try increasing timeout with: echo "export rvm_max_time_flag=20" >> ~/.rvmrc
=> (原因)rvm pkg install libyaml
を実行しても上記エラーでlibyamlが入らない。
=> (解消)rvmsudo rvm pkg install libyaml
を実行すると正しくインストールされる。
※ちな、libyamlは
とのこと。
There was an error(23).
悪夢再び
There was an error(23). Checking fallback: https://ftp.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p648.tar.bz2 No fallback URL could be found, try increasing timeout with: echo "export rvm_max_time_flag=20" >> ~/.rvmrc There has been an error fetching the ruby interpreter. Halting the installation.
=> (原因)rvm reinstall ruby-2.0.0-p648
を実行した。
これしてもだめ
echo "export rvm_max_time_flag=20" >> ~/.rvmrc
これする
rvmsudo rvm reinstall ruby-2.0.0-p648
を実行
=> (解消)これした
rvmsudo rvm reinstall ruby-2.0.0-p648
を実行
Error running './configure --prefix=/usr/local/rvm/rubies/ruby-2.0.0-p648 --disable-install-doc --enable-shared'
Error running './configure --prefix=/usr/local/rvm/rubies/ruby-2.0.0-p648 --disable-install-doc --enable-shared', please read /usr/local/rvm/log/1522984209_ruby-2.0.0-p648/configure.log There has been an error while running configure. Halting the installation.
=> (原因)rvmsudoしないでreinstallしたとき起こった。
=> (解消)rvmsudo rvm reinstall ruby-2.0.0-p648
を実行
ln: failed to create symbolic link ‘/usr/local/rvm/environments/ruby-2.0.0-p648@hoge’: Permission denied
ruby-2.0.0-p648 - #gemset created /usr/local/rvm/gems/ruby-2.0.0-p648@hoge ln: failed to create symbolic link ‘/usr/local/rvm/environments/ruby-2.0.0-p648@hoge’: Permission denied ln: failed to create symbolic link ‘/usr/local/rvm/wrappers/ruby-2.0.0-p648@hoge’: Permission denied ruby-2.0.0-p648 - #generating hoge wrappers.......... Error running 'run_gem_wrappers_regenerate', please read /usr/local/rvm/log/1531742335_ruby-2.0.0-p648/gemset.wrappers.hoge.log Using /usr/local/rvm/gems/ruby-2.0.0-p648 with gemset hoge YAML safe loading is not available. Please upgrade psych to a version that supports safe loading (>= 2.0). ec2-user:~/environment $ rvm gemset list gemsets for ruby-2.0.0-p648 (found in /usr/local/rvm/gems/ruby-2.0.0-p648) (default) global => hoge
=> (原因)rvm use --create 2.0.0-p648@hoge --default
するとエラーに見える。
=> (解消)gemset hogeに向いたので、そのまま続行?
WARNING: Please be aware that you just installed a ruby that is no longer maintained
WARNING: Please be aware that you just installed a ruby that is no longer maintained (2017-04-01), for a list of maintained rubies visit: http://bugs.ruby-lang.org/projects/ruby/wiki/ReleaseEngineering Please consider upgrading to ruby-2.4.1 which will have all of the latest security patches.
=> (原因)Rubyのバージョンが古いって怒られてる。
=> (解消)Rubyの最新バージョンを使う(やってない)。
ln: failed to create symbolic link ‘/usr/local/rvm/environments/ruby-2.4.1@hoge’: Permission denied
ruby-2.4.1 - #gemset created /usr/local/rvm/gems/ruby-2.4.1@hoge ln: failed to create symbolic link ‘/usr/local/rvm/environments/ruby-2.4.1@hoge’: Permission denied ln: failed to create symbolic link ‘/usr/local/rvm/wrappers/ruby-2.4.1@hoge’: Permission denied ruby-2.4.1 - #generating hoge wrappers........ Error running 'run_gem_wrappers_regenerate', please read /usr/local/rvm/log/1531741493_ruby-2.4.1/gemset.wrappers.hoge.log
=>(原因)rvm gemset create hoge
したら怒られた。
=>(解消)rvmsudoつける。
Warning: can not check /etc/sudoers
for secure_path
Warning: can not check `/etc/sudoers` for `secure_path`, falling back to call via `/usr/bin/env`, this breaks rules from `/etc/sudoers`. Run: export rvmsudo_secure_path=1 to avoid the warning, put it in shell initialization file to make it persistent. In case there is no `secure_path` in `/etc/sudoers`. Run: export rvmsudo_secure_path=0 to avoid the warning, put it in shell initialization file to make it persistent.
=>(原因)rvmsudoやるならいろいろ設定しとけって言われた。
=>(解消)rvm get head(そのバージョンの最新にする?)
するって書いてあるけど、export rvmsudo_secure_path=1
で解消された。
RVM: Ruby Version Manager - Upgrading RVM
Warning! PATH is not properly set up, '/usr/local/rvm/gems/ruby-2.4.1/bin' is not at first place.
Warning! PATH is not properly set up, '/usr/local/rvm/gems/ruby-2.4.1/bin' is not at first place. Usually this is caused by shell initialization files. Search for 'PATH=...' entries. You can also re-add RVM to your profile by running: 'rvm get stable --auto-dotfiles'. To fix it temporarily in this shell session run: 'rvm use ruby-2.4.1'. To ignore this error add rvm_silence_path_mismatch_check_flag=1 to your ~/.rvmrc file.
=> (原因)rvmsudo rvm gemset create hoge
したらデフォルトのRuby2.4.1に紐づいた。
=> (解消)rvm use ruby-2.0.0
してからやる。
you can switch to '.ruby-version' using 'rvm rvmrc to ruby-version'
You are using '.rvmrc', it requires trusting, it is slower and it is not compatible with other ruby managers, you can switch to '.ruby-version' using 'rvm rvmrc to ruby-version' or ignore this warning with 'rvm rvmrc warning ignore /home/ec2-user/environment/.rvmrc', '.rvmrc' will continue to be the default project file in RVM 1 and RVM 2, to ignore the warning for all files run 'rvm rvmrc warning ignore all.rvmrcs'.
=> (原因).rvmrcファイルにRubyのバージョンを固定して、新しいターミナルを開いたら.rvmrcファイルは古いから新しくしろとエラー。
=> (解消)rvm rvmrc to ruby-version
した。
http://d.hatena.ne.jp/chronogazer/20130416/1366073534d.hatena.ne.jp
gem関連
Gem::LoadError Specified 'sqlite3' for database adapter
sqlite3のバージョンを1.4.0から1.3.13にする。
最初記事の通りに1.3.6でbundle installしたけどそれでも以下のエラーが出てダメだった。
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
最終的に1.3系の最新マイナーバージョンにしたらインストールできた。
LoadError: cannot load such file -- coffee_script
coffee-rails入れた。
couldn't find file 'jquery' with type 'application/javascript'
まずはjquery-rails入れてbundle installした。
couldn't find file 'bootstrap' with type 'application/javascript'
bootstrap-sassを入れてbundle installした。
cannot load such file -- bcrypt
There was an error while trying to load the gem 'uglifier'. (Bundler::GemRequireError)
vagrant@ubuntu-xenial:~/tmp/RailsApp$ rails server Traceback (most recent call last): 31: from bin/rails:3:in `<main>' 30: from bin/rails:3:in `load' 29: from /home/vagrant/tmp/RailsApp/bin/spring:15:in `<top (required)>' 28: from /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/site_ruby/2.5.0/rubygems/core_ext/kernel_require.rb:70:in `require' 27: from /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/site_ruby/2.5.0/rubygems/core_ext/kernel_require.rb:70:in `require' 26: from /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/spring-2.0.2/lib/spring/binstub.rb:31:in `<top (required)>' 25: from /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/spring-2.0.2/lib/spring/binstub.rb:31:in `load' 24: from /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/spring-2.0.2/bin/spring:49:in `<top (required)>' 23: from /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/spring-2.0.2/lib/spring/client.rb:30:in `run' 22: from /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/spring-2.0.2/lib/spring/client/command.rb:7:in `call' 21: from /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/spring-2.0.2/lib/spring/client/rails.rb:28:in `call' 20: from /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/spring-2.0.2/lib/spring/client/rails.rb:28:in `load' 19: from /home/vagrant/tmp/RailsApp/bin/rails:9:in `<top (required)>' 18: from /home/vagrant/tmp/RailsApp/bin/rails:9:in `require' 17: from /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/railties-5.1.6/lib/rails/commands.rb:16:in `<top (required)>' 16: from /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/railties-5.1.6/lib/rails/command.rb:44:in `invoke' 15: from /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/railties-5.1.6/lib/rails/command/base.rb:63:in `perform' 14: from /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/thor-0.20.0/lib/thor.rb:387:in `dispatch' 13: from /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/thor-0.20.0/lib/thor/invocation.rb:126:in `invoke_command' 12: from /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/thor-0.20.0/lib/thor/command.rb:27:in `run' 11: from /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/railties-5.1.6/lib/rails/commands/server/server_command.rb:130:in `perform' 10: from /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/railties-5.1.6/lib/rails/commands/server/server_command.rb:130:in `tap' 9: from /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/railties-5.1.6/lib/rails/commands/server/server_command.rb:133:in `block in perform' 8: from /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/railties-5.1.6/lib/rails/commands/server/server_command.rb:133:in `require' 7: from /home/vagrant/tmp/RailsApp/config/application.rb:7:in `<top (required)>' 6: from /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/site_ruby/2.5.0/bundler.rb:114:in `require' 5: from /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/site_ruby/2.5.0/bundler/runtime.rb:65:in `require' 4: from /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/site_ruby/2.5.0/bundler/runtime.rb:65:in `each' 3: from /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/site_ruby/2.5.0/bundler/runtime.rb:76:in `block in require' 2: from /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/site_ruby/2.5.0/bundler/runtime.rb:76:in `each' 1: from /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/site_ruby/2.5.0/bundler/runtime.rb:80:in `block (2 levels) in require' /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/site_ruby/2.5.0/bundler/runtime.rb:84:in `rescue in block (2 levels) in require': There was an error while trying to load the gem 'uglifier'. (Bundler::GemRequireError) Gem Load Error is: Could not find a JavaScript runtime. See https://github.com/rails/execjs for a list of available runtimes. Backtrace for gem load error is: /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/execjs-2.7.0/lib/execjs/runtimes.rb:58:in `autodetect' /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/execjs-2.7.0/lib/execjs.rb:5:in `<module:ExecJS>' /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/execjs-2.7.0/lib/execjs.rb:4:in `<top (required)>' /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/uglifier-4.1.19/lib/uglifier.rb:5:in `require' /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/uglifier-4.1.19/lib/uglifier.rb:5:in `<top (required)>' /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/site_ruby/2.5.0/bundler/runtime.rb:81:in `require' /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/site_ruby/2.5.0/bundler/runtime.rb:81:in `block (2 levels) in require' /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/site_ruby/2.5.0/bundler/runtime.rb:76:in `each' /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/site_ruby/2.5.0/bundler/runtime.rb:76:in `block in require' /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/site_ruby/2.5.0/bundler/runtime.rb:65:in `each' /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/site_ruby/2.5.0/bundler/runtime.rb:65:in `require' /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/site_ruby/2.5.0/bundler.rb:114:in `require' /home/vagrant/tmp/RailsApp/config/application.rb:7:in `<top (required)>' /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/railties-5.1.6/lib/rails/commands/server/server_command.rb:133:in `require' /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/railties-5.1.6/lib/rails/commands/server/server_command.rb:133:in `block in perform' /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/railties-5.1.6/lib/rails/commands/server/server_command.rb:130:in `tap' /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/railties-5.1.6/lib/rails/commands/server/server_command.rb:130:in `perform' /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/thor-0.20.0/lib/thor/command.rb:27:in `run' /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/thor-0.20.0/lib/thor/invocation.rb:126:in `invoke_command' /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/thor-0.20.0/lib/thor.rb:387:in `dispatch' /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/railties-5.1.6/lib/rails/command/base.rb:63:in `perform' /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/railties-5.1.6/lib/rails/command.rb:44:in `invoke' /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/railties-5.1.6/lib/rails/commands.rb:16:in `<top (required)>' /home/vagrant/tmp/RailsApp/bin/rails:9:in `require' /home/vagrant/tmp/RailsApp/bin/rails:9:in `<top (required)>' /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/spring-2.0.2/lib/spring/client/rails.rb:28:in `load' /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/spring-2.0.2/lib/spring/client/rails.rb:28:in `call' /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/spring-2.0.2/lib/spring/client/command.rb:7:in `call' /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/spring-2.0.2/lib/spring/client.rb:30:in `run' /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/spring-2.0.2/bin/spring:49:in `<top (required)>' /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/spring-2.0.2/lib/spring/binstub.rb:31:in `load' /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/spring-2.0.2/lib/spring/binstub.rb:31:in `<top (required)>' /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/site_ruby/2.5.0/rubygems/core_ext/kernel_require.rb:70:in `require' /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/site_ruby/2.5.0/rubygems/core_ext/kernel_require.rb:70:in `require' /home/vagrant/tmp/RailsApp/bin/spring:15:in `<top (required)>' bin/rails:3:in `load' bin/rails:3:in `<main>' Bundler Error Backtrace:
=> (原因)node.jsを入れていない
=> (解消)sudo apt-get install nodejs
Gem Load Error is: Could not find a JavaScript runtime. See https://github.com/rails/execjs for a list of available runtimes.
/home/vagrant/.rbenv/versions/2.5.0/lib/ruby/site_ruby/2.5.0/bundler/runtime.rb:84:in `rescue in block (2 levels) in require': There was an error while trying to load the gem 'uglifier'. Gem Load Error is: Could not find a JavaScript runtime. See https://github.com/rails/execjs for a list of available runtimes. Backtrace for gem load error is: /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/execjs-2.7.0/lib/execjs/runtimes.rb:58:in `autodetect' /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/execjs-2.7.0/lib/execjs.rb:5:in `<module:ExecJS>' /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/execjs-2.7.0/lib/execjs.rb:4:in `<top (required)>' /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/uglifier-4.1.15/lib/uglifier.rb:5:in `require' /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/uglifier-4.1.15/lib/uglifier.rb:5:in `<top (required)>' /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/site_ruby/2.5.0/bundler/runtime.rb:81:in `require' /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/site_ruby/2.5.0/bundler/runtime.rb:81:in `block (2 levels) in require' /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/site_ruby/2.5.0/bundler/runtime.rb:76:in `each' /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/site_ruby/2.5.0/bundler/runtime.rb:76:in `block in require' /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/site_ruby/2.5.0/bundler/runtime.rb:65:in `each' /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/site_ruby/2.5.0/bundler/runtime.rb:65:in `require' /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/site_ruby/2.5.0/bundler.rb:114:in `require' /home/vagrant/tmp/apitest/config/application.rb:7:in `<top (required)>' /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/spring-2.0.2/lib/spring/application.rb:92:in `require' /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/spring-2.0.2/lib/spring/application.rb:92:in `preload' /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/spring-2.0.2/lib/spring/application.rb:153:in `serve' /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/spring-2.0.2/lib/spring/application.rb:141:in `block in run' /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/spring-2.0.2/lib/spring/application.rb:135:in `loop' /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/spring-2.0.2/lib/spring/application.rb:135:in `run' /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/spring-2.0.2/lib/spring/application/boot.rb:19:in `<top (required)>' /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/site_ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require' /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/site_ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require' -e:1:in `<main>' Bundler Error Backtrace: (Bundler::GemRequireError) from /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/site_ruby/2.5.0/bundler/runtime.rb:80:in `block (2 levels) in require' from /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/site_ruby/2.5.0/bundler/runtime.rb:76:in `each' from /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/site_ruby/2.5.0/bundler/runtime.rb:76:in `block in require' from /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/site_ruby/2.5.0/bundler/runtime.rb:65:in `each' from /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/site_ruby/2.5.0/bundler/runtime.rb:65:in `require' from /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/site_ruby/2.5.0/bundler.rb:114:in `require' from /home/vagrant/tmp/apitest/config/application.rb:7:in `<top (required)>' from /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/spring-2.0.2/lib/spring/application.rb:92:in `require' from /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/spring-2.0.2/lib/spring/application.rb:92:in `preload' from /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/spring-2.0.2/lib/spring/application.rb:153:in `serve' from /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/spring-2.0.2/lib/spring/application.rb:141:in `block in run' from /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/spring-2.0.2/lib/spring/application.rb:135:in `loop' from /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/spring-2.0.2/lib/spring/application.rb:135:in `run' from /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/spring-2.0.2/lib/spring/application/boot.rb:19:in `<top (required)>' from /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/site_ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require' from /home/vagrant/.rbenv/versions/2.5.0/lib/ruby/site_ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require' from -e:1:in `<main>'
=> (原因)vagrant@ubuntu-xenial:~/tmp/apitest$ rails generate controller address showしたら、runtimeがないよって怒られた。
=> (解消)とりあえずgemにtherubyracerを入れて再実行。
rails関連
already initialized constant, previous definition of 変数名(クラス名含む) was here
/home/vagrant/.rbenv/versions/x.x.x/lib/ruby/gems/x.x.x/gems/activesupport-x.x.x/lib/active_support/dependencies.rb:xxx: warning: already initialized constant 変数名(クラス名含む) /home/vagrant/.rbenv/versions/x.x.x/lib/ruby/gems/x.x.x/gems/activesupport-x.x.x/lib/active_support/dependencies.rb:xxx: warning: previous definition of 変数名(クラス名含む) was here
こんなエラーも。
LoadError (Unable to autoload constant Namespace::XxxxxxController, expected /xxxxxx/xxxxx/app/controllers/name_space/xxxxx_controller.rb to define it):
=> (原因)不明
=> (解消)してない
Processing by Admin::ReportsController#search_driver as / LoadError (Unable to autoload constant Admin::ReportsController, expected /vagrant/tcsweb/app/controllers/admin/reports_controller.rb to define it):
Autoprefixer doesn’t support Node v4.2.6. Update it.
=> (原因)Ubuntuのデフォルトのnode.jsを使っていた?
=> (解消)以下を実施
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash - sudo apt-get install -y nodejs
No value provided for required arguments 'app_path'
rails new -BCMT --skip-coffee -d sqlite3 No value provided for required arguments 'app_path'
=> (原因)プロジェクト名を指定していない。
=> (解消) rails new asagao -BCMT --skip-coffee -d sqlite3
ActiveRecord::PendingMigrationError
Started GET "/" for 192.168.33.1 at 2018-09-29 13:55:33 +0900 Cannot render console from 192.168.33.1! Allowed networks: 127.0.0.1, ::1, 127.0.0.0/127.255.255.255 ActiveRecord::PendingMigrationError ( Migrations are pending. To resolve this issue, run: bin/rails db:migrate RAILS_ENV=development ): activerecord (5.1.6) lib/active_record/migration.rb:576:in `check_pending!' activerecord (5.1.6) lib/active_record/migration.rb:553:in `call' actionpack (5.1.6) lib/action_dispatch/middleware/callbacks.rb:26:in `block in call' activesupport (5.1.6) lib/active_support/callbacks.rb:97:in `run_callbacks' actionpack (5.1.6) lib/action_dispatch/middleware/callbacks.rb:24:in `call' actionpack (5.1.6) lib/action_dispatch/middleware/executor.rb:12:in `call' actionpack (5.1.6) lib/action_dispatch/middleware/debug_exceptions.rb:59:in `call' web-console (3.7.0) lib/web_console/middleware.rb:135:in `call_app' web-console (3.7.0) lib/web_console/middleware.rb:22:in `block in call' web-console (3.7.0) lib/web_console/middleware.rb:20:in `catch' web-console (3.7.0) lib/web_console/middleware.rb:20:in `call' actionpack (5.1.6) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call' railties (5.1.6) lib/rails/rack/logger.rb:36:in `call_app' railties (5.1.6) lib/rails/rack/logger.rb:24:in `block in call' activesupport (5.1.6) lib/active_support/tagged_logging.rb:69:in `block in tagged' activesupport (5.1.6) lib/active_support/tagged_logging.rb:26:in `tagged' activesupport (5.1.6) lib/active_support/tagged_logging.rb:69:in `tagged' railties (5.1.6) lib/rails/rack/logger.rb:24:in `call' sprockets-rails (3.2.1) lib/sprockets/rails/quiet_assets.rb:13:in `call' actionpack (5.1.6) lib/action_dispatch/middleware/remote_ip.rb:79:in `call' actionpack (5.1.6) lib/action_dispatch/middleware/request_id.rb:25:in `call' rack (2.0.5) lib/rack/method_override.rb:22:in `call' rack (2.0.5) lib/rack/runtime.rb:22:in `call' activesupport (5.1.6) lib/active_support/cache/strategy/local_cache_middleware.rb:27:in `call' actionpack (5.1.6) lib/action_dispatch/middleware/executor.rb:12:in `call' actionpack (5.1.6) lib/action_dispatch/middleware/static.rb:125:in `call' rack (2.0.5) lib/rack/sendfile.rb:111:in `call' railties (5.1.6) lib/rails/engine.rb:522:in `call' puma (3.12.0) lib/puma/configuration.rb:225:in `call' puma (3.12.0) lib/puma/server.rb:658:in `handle_request' puma (3.12.0) lib/puma/server.rb:472:in `process_client' puma (3.12.0) lib/puma/server.rb:332:in `block in run' puma (3.12.0) lib/puma/thread_pool.rb:133:in `block in spawn_thread'
=> (原因)マイグレーションしてない。
=> (解消)rails db:migrate RAILS_ENV=development
やる。
ActionController::InvalidAuthenticityToken in HeloController#index
Started POST "/helo/index" for 192.168.33.1 at 2018-09-17 19:39:30 +0900 Cannot render console from 192.168.33.1! Allowed networks: 127.0.0.1, ::1, 127.0.0.0/127.255.255.255 Processing by HeloController#index as HTML Parameters: {"input1"=>"taku"} Can't verify CSRF token authenticity. Completed 422 Unprocessable Entity in 1ms ActionController::InvalidAuthenticityToken (ActionController::InvalidAuthenticityToken):
=> (原因)CSRF対策ができていない。
=> (解消)protect_from_forgery
を追加する。
Warning, new version of rvm available '1.29.4', you are using older version '1.29.3'. You can disable this warning with: echo rvm_autoupdate_flag=0 >> ~/.rvmrc You can enable auto-update with: echo rvm_autoupdate_flag=2 >> ~/.rvmrc mkdir: cannot create directory ‘/usr/local/rvm/log/1531744116_ruby-2.0.0-p648’: Permission denied tee: /usr/local/rvm/log/1531744116_ruby-2.0.0-p648/gem.install.rails-4.0.5.log: No such file or directory installing gem rails -v 4.0.5 --no-ri --no-rdoc.... Error running 'command gem install rails -v 4.0.5 --no-ri --no-rdoc', please read /usr/local/rvm/log/1531744116_ruby-2.0.0-p648/gem.install.rails-4.0.5.log
=> (原因)rvm gemset install rails -v 4.0.5
したらエラー。
=> (解消)エラーはあるが、入ってるっぽい。
#
rails server => Booting WEBrick => Rails 4.0.5 application starting in development on http://0.0.0.0:3000 => Run `rails server -h` for more startup options => Ctrl-C to shutdown server [2018-07-16 13:14:51] INFO WEBrick 1.3.1 [2018-07-16 13:14:51] INFO ruby 2.0.0 (2015-12-16) [x86_64-linux] [2018-07-16 13:14:51] INFO WEBrick::HTTPServer#start: pid=24136 port=3000 ^C[2018-07-16 13:15:40] INFO going to shutdown ... [2018-07-16 13:15:40] INFO WEBrick::HTTPServer#start done.
=> (原因)rails server
を実行。
=> (解消)rails s -b $IP -p $PORT
を実行。
rbenv関連
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
Updating rubygems-update Fetching: rubygems-update-2.7.7.gem (100%) ERROR: While executing gem ... (Gem::FilePermissionError) You don't have write permissions for the /Library/Ruby/Gems/2.3.0 directory.
=> (原因)以下を実行すると、デフォルトで設定されているRubyに入ってるrbenvのパスが通る。
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile echo 'eval "$(rbenv init -)"' >> ~/.bash_profile gem update --system
=> (解消)パスが間違ってる。普通にgemをインストールしようとしても怒られるので以下で正しいパスを通す。
$ cd $ vi ~/.bash_profile export PATH="~/.rbenv/shims:/usr/local/bin:$PATH" eval "$(rbenv init -)" $ $ source ~/.bash_profile # 変更をPCに反映させる
bundle installを実行すると以下のエラーが発生する
The dependency tzinfo-data (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for x86-mingw32, x86-mswin32, x64-mingw32, java. To add those platforms to the bundle, run `bundle lock --add-platform x86-mingw32 x86-mswin32 x64-mingw32 java`. Fetching gem metadata from https://rubygems.org/.......... Fetching gem metadata from https://rubygems.org/. Resolving dependencies... Bundler could not find compatible versions for gem "activesupport": In snapshot (Gemfile.lock): activesupport (= 5.1.6) In Gemfile: rails (= 5.1.4) was resolved to 5.1.4, which depends on activesupport (= 5.1.4) coffee-rails (= 4.2.2) was resolved to 4.2.2, which depends on railties (>= 4.0.0) was resolved to 5.1.6, which depends on activesupport (= 5.1.6) Running `bundle update` will rebuild your snapshot from scratch, using only the gems in your Gemfile, which may resolve the conflict.
=> (原因)bundle install
をすると、 bundle update
をしていないという警告が走る。
=> (解消)bundle update
を実行してから、bundle install
を実行する。
can't find gem railties (= Railのバージョン) (Gem::GemNotFoundException)
ec2-user:~/environment $ rails _5.1.7_ new undifined_version /usr/local/rvm/rubies/ruby-2.4.1/lib/ruby/site_ruby/2.4.0/rubygems.rb:271:in `find_spec_for_exe': can't find gem railties (= 5.1.7) (Gem::GemNotFoundException) from /usr/local/rvm/rubies/ruby-2.4.1/lib/ruby/site_ruby/2.4.0/rubygems.rb:299:in `activate_bin_path' from /usr/local/rvm/gems/ruby-2.4.1/bin/rails:23:in `<main>' from /usr/local/rvm/gems/ruby-2.4.1/bin/ruby_executable_hooks:15:in `eval' from /usr/local/rvm/gems/ruby-2.4.1/bin/ruby_executable_hooks:15:in `<main>'
=> (原因)Railsのバージョンがインストールされてない。
=> (解消)バージョンを確認してrails new
する。
rails -vでそのプロジェクトで指定したバージョンが表示されない
=> (原因)ローカルのruby環境に複数のバージョンのrailsがインストールされている?
=> (解消)上記の手順にてプロジェクトごとにrailsのバージョンをGemfileに指定してbundle install --path vendor/bundle
する。
テスト関連
Failure:StaticPagesControllerTest#test_should_get_about
ec2-user:~/environment/example2 (static-pages) $ rails test Running via Spring preloader in process 7108 Run options: --seed 8985 # Running: Run options: --seed 8985 # Running: FF Failure: StaticPagesControllerTest#test_should_get_about [/home/ec2-user/environment/example2/test/controllers/static_pages_controller_test.rb:19]: Expected at least 1 element matching "title", found 0.. Expected 0 to be >= 1. /home/ec2-user/environment/example2/vendor/bundle/ruby/2.4.0/gems/railties-5.1.4/lib/rails/test_unit/reporter.rb:70:in `method': undefined method `test_should_get_about' for class `Minitest::Result' (NameError)
=> (原因)app/views/static_pages/home.html.erbが完全なhtml形式でない。
=> (解消)完全なhtml形式でerbファイルを作成する。
### Error:StaticPagesControllerTest#test_should_get_about
c2-user:~/environment/example2 (static-pages) $ rails test Running via Spring preloader in process 9908 Run options: --seed 45204 # Running: Run options: --seed 45204 # Running: ....EE Error: StaticPagesControllerTest#test_should_get_about: SyntaxError: /home/ec2-user/environment/example2/app/views/static_pages/about.html.erb:2: syntax error, unexpected tIVAR, expecting ')' @output_buffer.safe_append='<!DOCTYPE html> ^ test/controllers/static_pages_controller_test.rb:22:in `block in <class:StaticPagesControllerTest>' /home/ec2-user/environment/example2/vendor/bundle/ruby/2.4.0/gems/railties-5.1.4/lib/rails/test_unit/reporter.rb:70:in `method': undefined method `test_should_get_about' for class `Minitest::Result' (NameError)
=> (原因)<% provide(:title, "About" %> かっこの閉じ忘れ。
=> (解消)ちゃんと閉じる。
ec2-user:~/environment/example2 (static-pages) $ rails test Running via Spring preloader in process 10955 Run options: --seed 17459 # Running: Run options: --seed 17459 # Running: EE Error: StaticPagesControllerTest#test_should_get_contact: ArgumentError: Expecting a selector as the first argument test/controllers/static_pages_controller_test.rb:30:in `block in <class:StaticPagesControllerTest>' /home/ec2-user/environment/example2/vendor/bundle/ruby/2.4.0/gems/railties-5.1.4/lib/rails/test_unit/reporter.rb:70:in `method': undefined method `test_should_get_contact' for class `Minitest::Result' (NameError)
=> (原因)テスティングファイルでassert_selectメソッドの引数(セレクタ)に:を入れていた。
=> (解消):を入れない。
コンソール関連
rails console --sandboxを抜けたらエラーメッセージが表示される。(詳細は以下)
/usr/local/rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/irb/ext/save-history.rb:98:in `initialize': Permission denied @ rb_sysopen - /usr/local/rvm/rubies/ruby-2.4.1/.irbrc_history (Errno::EACCES) from /usr/local/rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/irb/ext/save-history.rb:98:in `open' from /usr/local/rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/irb/ext/save-history.rb:98:in `save_history' from /usr/local/rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/irb/ext/save-history.rb:64:in `block in extended' from /usr/local/rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/irb.rb:433:in `block in run' from /usr/local/rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/irb.rb:433:in `each' from /usr/local/rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/irb.rb:433:in `run' from /usr/local/rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/irb.rb:385:in `start' from /home/ec2-user/environment/example2/vendor/bundle/ruby/2.4.0/gems/railties-5.1.4/lib/rails/commands/console/console_command.rb:62:in `start' from /home/ec2-user/environment/example2/vendor/bundle/ruby/2.4.0/gems/railties-5.1.4/lib/rails/commands/console/console_command.rb:17:in `start' from /home/ec2-user/environment/example2/vendor/bundle/ruby/2.4.0/gems/railties-5.1.4/lib/rails/commands/console/console_command.rb:97:in `perform' from /home/ec2-user/environment/example2/vendor/bundle/ruby/2.4.0/gems/thor-0.20.0/lib/thor/command.rb:27:in `run' from /home/ec2-user/environment/example2/vendor/bundle/ruby/2.4.0/gems/thor-0.20.0/lib/thor/invocation.rb:126:in `invoke_command' from /home/ec2-user/environment/example2/vendor/bundle/ruby/2.4.0/gems/thor-0.20.0/lib/thor.rb:387:in `dispatch' from /home/ec2-user/environment/example2/vendor/bundle/ruby/2.4.0/gems/railties-5.1.4/lib/rails/command/base.rb:63:in `perform' from /home/ec2-user/environment/example2/vendor/bundle/ruby/2.4.0/gems/railties-5.1.4/lib/rails/command.rb:44:in `invoke' from /home/ec2-user/environment/example2/vendor/bundle/ruby/2.4.0/gems/railties-5.1.4/lib/rails/commands.rb:16:in `<top (required)>' from /home/ec2-user/environment/example2/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:292:in `require' from /home/ec2-user/environment/example2/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:292:in `block in require' from /home/ec2-user/environment/example2/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:258:in `load_dependency' from /home/ec2-user/environment/example2/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:292:in `require' from /home/ec2-user/environment/example2/bin/rails:9:in `<top (required)>' from /home/ec2-user/environment/example2/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:286:in `load' from /home/ec2-user/environment/example2/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:286:in `block in load' from /home/ec2-user/environment/example2/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:258:in `load_dependency' from /home/ec2-user/environment/example2/vendor/bundle/ruby/2.4.0/gems/activesupport-5.1.4/lib/active_support/dependencies.rb:286:in `load' from /usr/local/rvm/rubies/ruby-2.4.1/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require' from /usr/local/rvm/rubies/ruby-2.4.1/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require' from -e:1:in `<main>'
=> (原因)設定ファイルを編集してエラー内容を許容する。
=> (解消)touch ~/.irbrcしてから、~/.irbrcファイルを以下のように編集する。
IRB.conf[:PROMPT_MODE] = :SIMPLE IRB.conf[:AUTO_INDENT_MODE] = false require 'irb/ext/save-history' IRB.conf[:SAVE_HISTORY] = 200 IRB.conf[:HISTORY_FILE] = "#{ENV['HOME']}/.irb-history"
Error:SiteLayoutTest#test_layout_links:
ec2-user:~/environment/example2 (modeling-users) $ rails test Running via Spring preloader in process 4895 Started with run options --seed 3061 Run options: --seed 3061---=---=---=---=---=---=---=---=---=---=---=---=---=---=---=---=---=---] 0% Time: 00:00:00, ETA: ??:??:?? # Running: ERROR["test_layout_links", Minitest::Result, 0.017652772000019468] test_layout_links#Minitest::Result (0.02s) ActiveRecord::RecordNotUnique: ActiveRecord::RecordNotUnique: SQLite3::ConstraintException: column email is not unique: INSERT INTO "users" ("name", "email", "created_at", "updated_at", "id") VALUES ('MyString', 'MyString', '2018-05-11 00:42:39.721826', '2018-05-11 00:42:39.721826', 298486374) E 12/0: [ ] 0% Time: 00:00:00, ETA: ??:??:?? Error: SiteLayoutTest#test_layout_links: ActiveRecord::RecordNotUnique: SQLite3::ConstraintException: column email is not unique: INSERT INTO "users" ("name", "email", "created_at", "updated_at", "id") VALUES ('MyString', 'MyString', '2018-05-11 00:42:39.721826', '2018-05-11 00:42:39.721826', 298486374) Error: SiteLayoutTest#test_layout_links: NoMethodError: undefined method `each' for nil:NilClass /home/ec2-user/environment/example2/vendor/bundle/ruby/2.4.0/gems/railties-5.1.4/lib/rails/test_unit/reporter.rb:70:in `method': undefined method `test_layout_links' for class `Minitest::Result' (NameError)
=> (原因)test/fixtute/users.yamlにデフォルト値が入力されていて、新規作成した重複データのバリデーションに引っかかった。
=> (解消)fixtureのデフォルトのテストデータを削除する。
メッセージ以外でつまづいたところ
変更が即時反映されない
https://qiita.com/kamayla/items/6b97034b105a05dd6a58qiita.com
config/environment/development.rb
に
config.cache_classes = false config.reload_classes_only_on_change = false
を入力する。