Ошибка при создании нового ресурса с Джулией-Джинн - PullRequest
0 голосов
/ 09 мая 2018

В Genie (http://genieframework.com/),

Я пытаюсь создать новый ресурс с именами 'Toto', используя команду

./bin/repl --resource:new=Toto

Я получаю следующую ошибку:

ERROR: LoadError: UndefVarError: SearchLight not defined
execute(::Genie.Configuration.Settings) at /home/vlaugier/.julia/v0.6/Genie/src/Commands.jl:38
run() at /home/vlaugier/.julia/v0.6/Genie/src/Genie.jl:52
eval(::Module, ::Any) at ./boot.jl:235
eval_ew_expr at ./distributed/macros.jl:116 [inlined]
(::Base.Distributed.##135#136{Base.Distributed.#eval_ew_expr,Tuple{Expr},Array{Any,1}})() at ./distributed/remotecall.jl:314
run_work_thunk(::Base.Distributed.##135#136{Base.Distributed.#eval_ew_expr,Tuple{Expr},Array{Any,1}}, ::Bool) at ./distributed/process_messages.jl:56
#remotecall_fetch#140(::Array{Any,1}, ::Function, ::Function, ::Base.Distributed.LocalProcess, ::Expr, ::Vararg{Expr,N} where N) at ./distributed/remotecall.jl:339
remotecall_fetch(::Function, ::Base.Distributed.LocalProcess, ::Expr, ::Vararg{Expr,N} where N) at ./distributed/remotecall.jl:339
#remotecall_fetch#144(::Array{Any,1}, ::Function, ::Function, ::Int64, ::Expr, ::Vararg{Expr,N} where N) at ./distributed/remotecall.jl:367
remotecall_fetch(::Function, ::Int64, ::Expr, ::Vararg{Expr,N} where N) at ./distributed/remotecall.jl:367
(::##13#15)() at ./distributed/macros.jl:102
#remotecall_fetch#140(::Array{Any,1}, ::Function, ::Function, ::Base.Distributed.LocalProcess, ::Expr, ::Vararg{Expr,N} where N) at ./distributed/remotecall.jl:340
remotecall_fetch(::Function, ::Base.Distributed.LocalProcess, ::Expr, ::Vararg{Expr,N} where N) at ./distributed/remotecall.jl:339
#remotecall_fetch#144(::Array{Any,1}, ::Function, ::Function, ::Int64, ::Expr, ::Vararg{Expr,N} where N) at ./distributed/remotecall.jl:367
remotecall_fetch(::Function, ::Int64, ::Expr, ::Vararg{Expr,N} where N) at ./distributed/remotecall.jl:367
(::##13#15)() at ./distributed/macros.jl:102
sync_end() at ./task.jl:287
macro expansion at ./distributed/macros.jl:112 [inlined]
anonymous at ./<missing>:?
include_from_node1(::String) at ./loading.jl:576
include(::String) at ./sysimg.jl:14
(::Base.Distributed.##135#136{Base.#include,Tuple{String},Array{Any,1}})() at ./distributed/remotecall.jl:314
run_work_thunk(::Base.Distributed.##135#136{Base.#include,Tuple{String},Array{Any,1}}, ::Bool) at ./distributed/process_messages.jl:56
#remotecall_fetch#140(::Array{Any,1}, ::Function, ::Function, ::Base.Distributed.LocalProcess, ::String, ::Vararg{String,N} where N) at ./distributed/remotecall.jl:339
remotecall_fetch(::Function, ::Base.Distributed.LocalProcess, ::String, ::Vararg{String,N} where N) at ./distributed/remotecall.jl:339
#remotecall_fetch#144(::Array{Any,1}, ::Function, ::Function, ::Int64, ::String, ::Vararg{String,N} where N) at ./distributed/remotecall.jl:367
remotecall_fetch(::Function, ::Int64, ::String, ::Vararg{Any,N} where N) at ./distributed/remotecall.jl:367
(::Base.##507#509{Base.JLOptions})() at ./task.jl:335
while loading /home/vlaugier/CODE/sandbag/julia/genie/first_app_in_genie/genie.jl, in expression starting on line 32
#remotecall_fetch#140(::Array{Any,1}, ::Function, ::Function, ::Base.Distributed.LocalProcess, ::String, ::Vararg{String,N} where N) at ./distributed/remotecall.jl:340
remotecall_fetch(::Function, ::Base.Distributed.LocalProcess, ::String, ::Vararg{String,N} where N) at ./distributed/remotecall.jl:339
#remotecall_fetch#144(::Array{Any,1}, ::Function, ::Function, ::Int64, ::String, ::Vararg{String,N} where N) at ./distributed/remotecall.jl:367
remotecall_fetch(::Function, ::Int64, ::String, ::Vararg{Any,N} where N) at ./distributed/remotecall.jl:367
(::Base.##507#509{Base.JLOptions})() at ./task.jl:335
Stacktrace:
 [1] sync_end() at ./task.jl:287
 [2] macro expansion at ./task.jl:303 [inlined]
 [3] process_options(::Base.JLOptions) at ./client.jl:279
 [4] _start() at ./client.jl:371

Тем не менее, некоторые файлы создаются:

  • app / resources / totos / TotosController.jl
  • app / resources / totos / TotosChannel.jl
  • app /resources / totos / authorization.yml
  • test / unit / totos_test.jl

Моя версия Джулии следующая:

julia> versioninfo()
Julia Version 0.6.2
Commit d386e40c17 (2017-12-13 18:08 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
  CPU: Intel(R) Core(TM) i7-3520M CPU @ 2.90GHz
  WORD_SIZE: 64
  BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Sandybridge)
  LAPACK: libopenblas64_
  LIBM: libopenlibm
  LLVM: libLLVM-3.9.1 (ORCJIT, ivybridge)

1 Ответ

0 голосов
/ 15 мая 2018

Извините, похоже, что процесс извлечения ORM из SearchLight из Genie нарушил работу модуля Commands. Я быстро исправил это, вы получите его при запуске Pkg.update().

Однако это больше не рекомендуемый способ взаимодействия с функциями генератора Genie. Вместо этого запустите Genie REPL ($> ./bin/repl) и затем используйте методы, предоставляемые различными модулями. Все функции, предоставляемые в оболочке, доступны по адресу:

  • Genie.Generator (new_resource, new_controller, new_channel)
  • SearchLight.Generator (db_init, new_model, new_migration)
  • Migration
  • Toolbox
  • AppServer

Модуль Commands оставлен по историческим причинам - и потому, что он казался хорошим способом помочь с обнаружением функций, не имея обширной документации. Как только лучшие документы станут доступны, больше таких ранних функций будут удалены или реорганизованы / реорганизованы.

Наконец, для любых других ошибок, пожалуйста, откройте проблему в репозитории Genie GitHub.

...