Not defined error

Sooooo confusing using Julia :frowning:

I don’t understand why the following simple codes doesn’t work at all with error message AbstractGlidingVehicle not defined.

Even my other custom package is similarly written, but that works.

Note: I’m running code as include("test/runtests.jl").

+) Please let me know how to develop a custom packages and use them. It’s really confusing, especially paths of files, use of other registered packages, and precompiling with PackageCompiler.jl.
Do I have to install the same registered packages (e.g., LinearAlgebra.jl) in all my custom environments? If you can, please share the easiest and clearest way to make and use custom packages…

EDIT: suddenly this code works, and it doesn’t work again with different error…
Note: I’m using rsync and running codes on server.

EDIT2: I may found what raises error (but I don’t know why). Replacing using Revise; includet("glidingvehicle.jl" in src/Environment.jl by include("glidingvehicle.jl") works well.
Then, should I re-run julia everytime I change my custom package?

EDIT3: After changing includet("glidingvehicle.jl") to includet("src/glidingvehicle.jl") also works. Probably the location where I run the code is crucial in Julia, and this makes really confused. Is there any way to fix it? In my case when using Python, I used prefix PYTHONPATH="."`.


using Environment
using Test

function test_all()
    gv = GlidingVehicle.AbstractGlidingVehicle()



module Environment

using Revise

export GlidingVehicle



module GlidingVehicle

using Parameters

export AbstractGlidingVehicle

@with_kw mutable struct AbstractGlidingVehicle
    i::Int64 = 1


Don’t use Revise within a module, and just include the file.

Then, should I repeat turn on and off REPL while developing my own packages? (to reflect the changes of the package?)

Sorry, I don’t understand this. I would generally recommend just using GlidingVehicle and just Revise as intended, see

Probably I don’t figure out how Revise.jl works.
I’ll take a loot at Revise.jl again. Thanks :slight_smile: