如何自己写一份Project.toml

我在GitHub上找到一份我需要的程序,但是在命令行运行命令

Pkg> dev https://github.com/jdnz/MatrixProductStates.jl.git

的时候,出现如下报错

Cloning git-repohttps://github.com/jdnz/MatrixProductStates.jl.git
ERROR: could not find proiect file (Proiect,toml or JuliaProiect,toml) 
in package athttps://github.com/jdnz/MatrixProduct States.jl.git' 
maybesubdir’ needs to be specified 

根据我的搜索是因为GitHub中少了一个名叫Proiect,toml的文件,由于我是小白,不懂得该文件应该怎么写,参考GitHub中其他程序中的Proiect,toml也看不太懂内容。所以来求助,希望帮忙指出方向。
如下是我寻找的其他参考[文档]( Brochure.jl/Project.toml at master · Roger-luo/Brochure.jl · GitHub)

name = "Brochure"
uuid = "4cdfee6c-ef0c-11e9-21f4-477d84e5d5e1"
authors = ["Roger-luo"]
version = "0.1.0"

[deps]
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
FileWatching = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee"
LiveServer = "16fef848-5104-11e9-1b77-fb7a48bbb589"

[compat]
julia = "1.1.1"

[extras]
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"

[targets]
test = ["Test"]

他这代码是julia 0.6的吧,建议直接读代码把需要的函数导入自己的新建工程里,没必要给他的包加Project.toml

好旧的代码,甚至没有给它生成过 UUID 2333

没空的话建议同上,有空的话调了哪些库写在 REQUIRE 文件里了,再调 Project.toml

如果是 0.6 要升级到 1.0+
建议装个 v0.7 版本,这个版本和 1.0 兼容,不过他会给你非常多的弃用警告,你按照这些警告去修改代码,警告改完了,再用 1.0 跑一下试试;之后就可以直接用 v1.6.x (LTS)试试,一般不会有太大的问题。

我写了更详细的流程:

直接用这个吧。

name = "MatrixProductStates"
uuid = "28892423-5e71-5a24-babc-7f7f28a8bceb"
authors = ["James Douglas"]
version = "0.1.0"

[deps]
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
LinearMaps = "7a12625a-238d-50fd-b39a-03d52299707e"
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
TensorOperations = "6aa20fa7-93e2-5fca-9bc0-fbd0db3c71a2"

[compat]
julia = "0.6"

我感觉这个 toml 还是比较可读的。

第一节的名字都是自解释的。
需要注意的是:手写 toml 时,uuid 需要重新生成,不能复制其他包的。这里我是新生成的可以直接用。

第二节 toml 指明了依赖包名与对应的 uuid。
这一节由 Pkg 管理,一般不需要手动修改。

第三节是 julia 的兼容性标记
这里指定仅兼容 v0.6


我用 v0.7 测试了下,和 issue 里的问题一样,跑案例时会报错。所以不如直接 0.6
报错:ERROR: LoadError: DimensionMismatch("A has dimensions (2,256) but B has dimensions (200,3200)")

感觉是 0.6/0.7 reshape 函数有变化。

好的,非常感谢,我正在阅读此条回复的内容。最近有点发烧,。。。进度比较慢

请问我安装Julia0.6之后,环境变量也配置过了,为什么我还是如下报错

Command 'julia' not found, but can be installed with:

sudo snap install julia  # version 1.8.4, or
sudo apt  install julia  # version 1.4.1+dfsg-1

See 'snap info julia' for additional versions.

我的环境变量是

JULIA_HOME=/jinzhuo/julia/julia-903644385b
PATH=$PATH:$JULIA_HOME/bin
export PATH

但是我打开bin文件夹之后用./julia是可以进入Julia的REPL模式。

你的 JULIA_HOME 路径是不是写错了?这里添加了一个环境变量
/jinzhuo/julia/julia-903644385b/bin

确保你的可执行文件在这个目录下

补充:前边少了 home

是的,谢谢。但是Julia1.8.4的环境变量我也没加home,但是可以正常运行。