yogthos / migratus

MIGRATE ALL THE THINGS!
642 stars 93 forks source link

Can't compile migratus v1.3.0 or v1.2.9 #191

Closed honeybadgerinc closed 3 years ago

honeybadgerinc commented 3 years ago

I'm seeing this when trying to use migratus on a personal project:

lucas:personal-site/ (main*) $ lein repl                                                                                                                                        [16:41:04]
log4j:WARN No appenders could be found for logger (org.eclipse.jetty.util.log).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
#error {
 :cause No such var: str/starts-with?
 :via
 [{:type clojure.lang.Compiler$CompilerException
   :message java.lang.RuntimeException: No such var: str/starts-with?, compiling:(migratus/migration/sql.clj:17:8)
   :at [clojure.lang.Compiler analyze Compiler.java 6543]}
  {:type java.lang.RuntimeException
   :message No such var: str/starts-with?
   :at [clojure.lang.Util runtimeException Util.java 221]}]
 :trace
 [[clojure.lang.Util runtimeException Util.java 221]
  [clojure.lang.Compiler resolveIn Compiler.java 6993]
  [clojure.lang.Compiler resolve Compiler.java 6963]
  [clojure.lang.Compiler analyzeSymbol Compiler.java 6924]
  [clojure.lang.Compiler analyze Compiler.java 6506]
  [clojure.lang.Compiler analyze Compiler.java 6485]
  [clojure.lang.Compiler$InvokeExpr parse Compiler.java 3737]
  [clojure.lang.Compiler analyzeSeq Compiler.java 6725]
  [clojure.lang.Compiler analyze Compiler.java 6524]
  [clojure.lang.Compiler analyze Compiler.java 6485]
  [clojure.lang.Compiler$InvokeExpr parse Compiler.java 3791]
  [clojure.lang.Compiler analyzeSeq Compiler.java 6725]
  [clojure.lang.Compiler analyze Compiler.java 6524]
  [clojure.lang.Compiler analyze Compiler.java 6485]
  [clojure.lang.Compiler$BodyExpr$Parser parse Compiler.java 5861]
  [clojure.lang.Compiler$FnMethod parse Compiler.java 5296]
  [clojure.lang.Compiler$FnExpr parse Compiler.java 3925]
  [clojure.lang.Compiler analyzeSeq Compiler.java 6721]
  [clojure.lang.Compiler analyze Compiler.java 6524]
  [clojure.lang.Compiler analyzeSeq Compiler.java 6711]
  [clojure.lang.Compiler analyze Compiler.java 6524]
  [clojure.lang.Compiler access$300 Compiler.java 38]
  [clojure.lang.Compiler$DefExpr$Parser parse Compiler.java 577]
  [clojure.lang.Compiler analyzeSeq Compiler.java 6723]
  [clojure.lang.Compiler analyze Compiler.java 6524]
  [clojure.lang.Compiler analyze Compiler.java 6485]
  [clojure.lang.Compiler eval Compiler.java 6786]
  [clojure.lang.Compiler load Compiler.java 7227]
  [clojure.lang.RT loadResourceScript RT.java 371]
  [clojure.lang.RT loadResourceScript RT.java 362]
  [clojure.lang.RT load RT.java 446]
  [clojure.lang.RT load RT.java 412]
  [clojure.core$load$fn__5448 invoke core.clj 5866]
  [clojure.core$load doInvoke core.clj 5865]
  [clojure.lang.RestFn invoke RestFn.java 408]
  [clojure.core$load_one invoke core.clj 5671]
  [clojure.core$load_lib$fn__5397 invoke core.clj 5711]
  [clojure.core$load_lib doInvoke core.clj 5710]
  [clojure.lang.RestFn applyTo RestFn.java 142]
  [clojure.core$apply invoke core.clj 632]
  [clojure.core$load_libs doInvoke core.clj 5749]
  [clojure.lang.RestFn applyTo RestFn.java 137]
  [clojure.core$apply invoke core.clj 632]
  [clojure.core$require doInvoke core.clj 5832]
  [clojure.lang.RestFn invoke RestFn.java 551]
  [migratus.migrations$eval4630$loading__5340__auto____4631 invoke migrations.clj 1]
  [migratus.migrations$eval4630 invoke migrations.clj 1]
  [clojure.lang.Compiler eval Compiler.java 6782]
  [clojure.lang.Compiler eval Compiler.java 6771]
  [clojure.lang.Compiler load Compiler.java 7227]
  [clojure.lang.RT loadResourceScript RT.java 371]
  [clojure.lang.RT loadResourceScript RT.java 362]
  [clojure.lang.RT load RT.java 446]
  [clojure.lang.RT load RT.java 412]
  [clojure.core$load$fn__5448 invoke core.clj 5866]
  [clojure.core$load doInvoke core.clj 5865]
  [clojure.lang.RestFn invoke RestFn.java 408]
  [clojure.core$load_one invoke core.clj 5671]
  [clojure.core$load_lib$fn__5397 invoke core.clj 5711]
  [clojure.core$load_lib doInvoke core.clj 5710]
  [clojure.lang.RestFn applyTo RestFn.java 142]
  [clojure.core$apply invoke core.clj 632]
  [clojure.core$load_libs doInvoke core.clj 5749]
  [clojure.lang.RestFn applyTo RestFn.java 137]
  [clojure.core$apply invoke core.clj 632]
  [clojure.core$require doInvoke core.clj 5832]
  [clojure.lang.RestFn invoke RestFn.java 512]
  [migratus.core$eval4319$loading__5340__auto____4320 invoke core.clj 14]
  [migratus.core$eval4319 invoke core.clj 14]
  [clojure.lang.Compiler eval Compiler.java 6782]
  [clojure.lang.Compiler eval Compiler.java 6771]
  [clojure.lang.Compiler load Compiler.java 7227]
  [clojure.lang.RT loadResourceScript RT.java 371]
  [clojure.lang.RT loadResourceScript RT.java 362]
  [clojure.lang.RT load RT.java 446]
  [clojure.lang.RT load RT.java 412]
  [clojure.core$load$fn__5448 invoke core.clj 5866]
  [clojure.core$load doInvoke core.clj 5865]
  [clojure.lang.RestFn invoke RestFn.java 408]
  [clojure.core$load_one invoke core.clj 5671]
  [clojure.core$load_lib$fn__5397 invoke core.clj 5711]
  [clojure.core$load_lib doInvoke core.clj 5710]
  [clojure.lang.RestFn applyTo RestFn.java 142]
  [clojure.core$apply invoke core.clj 632]
  [clojure.core$load_libs doInvoke core.clj 5749]
  [clojure.lang.RestFn applyTo RestFn.java 137]
  [clojure.core$apply invoke core.clj 632]
  [clojure.core$require doInvoke core.clj 5832]
  [clojure.lang.RestFn invoke RestFn.java 408]
  [personal_blog.models.migration$eval4313$loading__5340__auto____4314 invoke migration.clj 1]
  [personal_blog.models.migration$eval4313 invoke migration.clj 1]
  [clojure.lang.Compiler eval Compiler.java 6782]
  [clojure.lang.Compiler eval Compiler.java 6771]
  [clojure.lang.Compiler load Compiler.java 7227]
  [clojure.lang.RT loadResourceScript RT.java 371]
  [clojure.lang.RT loadResourceScript RT.java 362]
  [clojure.lang.RT load RT.java 446]
  [clojure.lang.RT load RT.java 412]
  [clojure.core$load$fn__5448 invoke core.clj 5866]
  [clojure.core$load doInvoke core.clj 5865]
  [clojure.lang.RestFn invoke RestFn.java 408]
  [clojure.core$load_one invoke core.clj 5671]
  [clojure.core$load_lib$fn__5397 invoke core.clj 5711]
  [clojure.core$load_lib doInvoke core.clj 5710]
  [clojure.lang.RestFn applyTo RestFn.java 142]
  [clojure.core$apply invoke core.clj 632]
  [clojure.core$load_libs doInvoke core.clj 5749]
  [clojure.lang.RestFn applyTo RestFn.java 137]
  [clojure.core$apply invoke core.clj 632]
  [clojure.core$require doInvoke core.clj 5832]
  [clojure.lang.RestFn invoke RestFn.java 512]
  [personal_blog.core$eval14$loading__5340__auto____15 invoke core.clj 1]
  [personal_blog.core$eval14 invoke core.clj 1]
  [clojure.lang.Compiler eval Compiler.java 6782]
  [clojure.lang.Compiler eval Compiler.java 6771]
  [clojure.lang.Compiler load Compiler.java 7227]
  [clojure.lang.RT loadResourceScript RT.java 371]
  [clojure.lang.RT loadResourceScript RT.java 362]
  [clojure.lang.RT load RT.java 446]
  [clojure.lang.RT load RT.java 412]
  [clojure.core$load$fn__5448 invoke core.clj 5866]
  [clojure.core$load doInvoke core.clj 5865]
  [clojure.lang.RestFn invoke RestFn.java 408]
  [clojure.core$load_one invoke core.clj 5671]
  [clojure.core$load_lib$fn__5397 invoke core.clj 5711]
  [clojure.core$load_lib doInvoke core.clj 5710]
  [clojure.lang.RestFn applyTo RestFn.java 142]
  [clojure.core$apply invoke core.clj 632]
  [clojure.core$load_libs doInvoke core.clj 5749]
  [clojure.lang.RestFn applyTo RestFn.java 137]
  [clojure.core$apply invoke core.clj 632]
  [clojure.core$require doInvoke core.clj 5832]
  [clojure.lang.RestFn invoke RestFn.java 408]
  [user$eval5 invoke form-init6117806563629073185.clj 1]
  [clojure.lang.Compiler eval Compiler.java 6782]
  [clojure.lang.Compiler eval Compiler.java 6771]
  [clojure.lang.Compiler eval Compiler.java 6771]
  [clojure.lang.Compiler load Compiler.java 7227]
  [clojure.lang.Compiler loadFile Compiler.java 7165]
  [clojure.main$load_script invoke main.clj 275]
  [clojure.main$init_opt invoke main.clj 280]
  [clojure.main$initialize invoke main.clj 308]
  [clojure.main$null_opt invoke main.clj 343]
  [clojure.main$main doInvoke main.clj 421]
  [clojure.lang.RestFn invoke RestFn.java 421]
  [clojure.lang.Var invoke Var.java 383]
  [clojure.lang.AFn applyToHelper AFn.java 156]
  [clojure.lang.Var applyTo Var.java 700]
  [clojure.main main main.java 37]]}
nREPL server started on port 40283 on host 127.0.0.1 - nrepl://127.0.0.1:40283
REPL-y 0.4.3, nREPL 0.6.0
Clojure 1.7.0
OpenJDK 64-Bit Server VM 1.8.0_265-8u265-b01-0ubuntu2~18.04-b01
    Docs: (doc function-name-here)
          (find-doc "part-of-name-here")
  Source: (source function-name-here)
 Javadoc: (javadoc java-object-or-class-here)
    Exit: Control+D or (exit) or (quit)
 Results: Stored in vars *1, *2, *3, an exception in *e

Is this a known issue? Am I missing a dependency?

yogthos commented 3 years ago

It looks like you might have an old version of Clojure runtime. The error says that clojure.string/starts-with? is not available. This is part of Clojure core.