Джулии пока нет в моей рулевой рубке, но мне передали проект Джулии, внутри которого можно запустить код. Он состоит из каталога, содержащего main.jl
, Project.toml
и Manifest.toml
.
Я немного прочитал, для чего нужны файлы TOML; Подводя итог моему текущему пониманию, они образуют проект или среду (не уверен, что и в чем реальная разница).
Я установил Julia v1.3.1 в командной строке, загрузив tar, распаковав и поместив на свой путь. Если ввести julia
в командной строке, откроется Julia CLI REPL, как и ожидалось.
Я попытался запустить код с помощью julia main.jl
, это приводит к жалобам на отсутствие необходимых пакетов, например:
julia main.jl
ERROR: LoadError: ArgumentError: Package JSON not found in current path:
- Run `import Pkg; Pkg.add("JSON")` to install the JSON package.
Stacktrace:
[1] require(::Module, ::Symbol) at ./loading.jl:887
[2] include at ./boot.jl:328 [inlined]
[3] include_relative(::Module, ::String) at ./loading.jl:1105
[4] include(::Module, ::String) at ./Base.jl:31
[5] exec_options(::Base.JLOptions) at ./client.jl:287
[6] _start() at ./client.jl:460
in expression starting at /home/<user>/myproject/main.jl:3
Я могу следовать приведенным здесь инструкциям и загружать необходимые пакеты, но, конечно же, мне не следует делать это вручную для каждого пакета? Поскольку каждый требуемый пакет указан в Project.toml
, я думаю, должен быть какой-то способ сообщить Джулии, чтобы она обеспечила доступность пакетов в проекте (я думаю что-то вроде файла требований Python).
Я пробовал julia --project=main.jl
, но это просто приводит к повторной загрузке REPL, при этом ничего не происходит (не уверен, загружен ли какой-либо проект или среда или нет).
Как я могу сказать Джулии запустить сценарий в этом проекте, принимая во внимание требования и другую информацию в файлах TOML?
Обновление: придумали ввести ]
в REPL, чтобы войти в pkg
диспетчер пакетов. Тогда я могу:
(v1.3) pkg> activate .
Activating environment at `~/myproject/Project.toml`
(myproject) pkg> instantiate
(myproject) pkg>
Затем выйдите из менеджера, нажав клавишу Backspace. Тем не менее, все еще не уверен, как все «запустить».