一歩進んでニ歩下がって一歩進む
なんか寝違えてしまった。
首痛くて、環境構築終わらなくてイライラ。
ちょっと整理するために一回やったことを書き出してみよう。
・まず
http://neo4jrb.readthedocs.io/en/latest/Setup.html
読んで最初のコマンドを入力。
rails new myapp -m http://neo4jrb.io/neo4j/neo4j.rb -O
するとhttp://neo4jrb.io/neo4j/neo4j.rb
このサイトがそもそも存在せず失敗。
・次に試したこと
これがうまくいかないら、先にrails newで何か作って、gemとか自分で入れよう。
gemfileにgem 'neo4j' 9.4.0を追加。
bundle install
application.rbにrequire 'railtie'を追加。
class Application < Rails::Application
# ...
config.generators { |g| g.orm :neo4j }
end
これを追加。
config/neo4j.ymlファイルを作成して
development:
type:http
test:
type:http
production:
type: http
url: http://neo4j:password@localhost:7000
を追加。
config/environment/development.rbに
config.neo4j.session.options = { faraday_configurator: proc do |faraday|
faraday.adapter :typhoeus
faraday.options[:open_timeout] = 5
faraday.options[:timeout] = 65
end }
を追加。
app/models/faculty.rbを作成
を追加。
rails db:migrate したけど...????
rails serverを立ち上げてみる。
rails コンソールでFaculty.createすると
=> #<Faculty code: nil, name: nil>
おーなんかファイル読み込まれてそう。
しかしFaculty.firstでは
ETHON: Libcurl initialized
ETHON: performed EASY effective_url=http://localhost:7474/db/data/schema/constraint response_code=0 return_code=couldnt_connect total_time=0.0
HTTP REQUEST: 3ms GET http://localhost:7474/db/data/schema/constraint (0 bytes)
Traceback (most recent call last):
2: from (irb):2
1: from (irb):2:in `rescue in irb_binding'
NameError (uninitialized constant Faraday::Error::ConnectionFailed)
んー、そもそもlocalhost:7474が立ち上がってないもんな。
・じゃあ、neo4j-rake_tasksをgemfileに追加
bundle install
rake neo4j:install[community-latest,development]
たくさんのファイルがインストールされる。
rake neo4j:start[development]
Starting Neo4j in development...
which: no java in (/home/vagrant/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/bin:/home/vagrant/.rbenv/versions/2.6.5/bin:/home/vagrant/.rbenv/libexec:/home/vagrant/.rbenv/plugins/ruby-build/bin:/home/vagrant/.pyenv/plugins/pyenv-virtualenv/shims:/home/vagrant/.pyenv/shims:/home/vagrant/.pyenv/bin:/home/vagrant/.rbenv/shims:/home/vagrant/.rbenv/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/vagrant/bin)
ERROR: Unable to find Java executable.
* Please use Oracle(R) Java(TM) 8, OpenJDK(TM) or IBM J9 to run Neo4j.
* Please see https://neo4j.com/docs/ for Neo4j installation instructions.
rake aborted!
Unable to run: db/neo4j/development/bin/neo4j start
というエラー。java探してるファイルがおかしいので、
/db/neo4j/development/bin/neo4jを見てみると
JAVA_HOMEとかJAVA_CMDがあり、エラーメッセージは
ここにあった。
$JAVA_HOMEの値がおかしいのだろうと思い、インストールしたところに変更
JAVA_HOME='C:\Java\jdk-13.0.2'
しかし、
起動できないから、dockerでrailsをやろうとした。これもうまくいかなかったんだが、ここに書くとどこに書いたかわからなくなるので別記事へ。
・じゃあ、dockerもだめなら、windows powershellでやってみようってなって、
まず、rails newでプロジェクトつくる、
上に書いたのと同じように進めていって、bin\neo4j consoleでlocalhost:7474にちゃんとneo4jが表示された!!
次にrails sでlocalhost:3000に行ったが、
uninitialized constant Faraday::Error::ConnectionFailed
なんか見たことあるエラーだな。
これがどこにあるのか全然わからないんだなー...
Started GET "/" for ::1 at 2020-03-20 21:46:40 +0900
HTTP REQUEST: 0ms GET http://localhost:7474/db/data/schema/constraint (0 bytes)
RuntimeError (missing dependency for Faraday::Adapter::Typhoeus: Could not open library 'libcurl': �w�肳�ꂽ���W� ��[����������܂���B
.
Could not open library 'libcurl.dll': �w�肳�ꂽ���W���[����������܂���B
.
Could not open library 'libcurl.so.4': �w�肳�ꂽ���W���[����������܂���B
.
Could not open library 'libcurl.so.4.dll': �w�肳�ꂽ���W���[����������܂���B
):
こんな意味不明な文字化けも。このまんま出てきた。