ルール
- エラー内容
- 発生した原因
- 解消方法
全て記述すること。
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
を入力する。