Replies: 4 comments
|
Two things going on here: 1. The [settings]
experimental = trueAlso, the 2. You likely want the tool-level The tool-level [tools]
"http:my-script" = { version = "1.0.0", url = "...", postinstall = "mv -v nebula-ca/build/{{os()}}-{{arch(x64='amd64', arm64='arm64')}}/* ." }See tool-level postinstall docs. 3. The deprecation warning is unrelated — somewhere in your tool config you have a URL template using This comment was generated by an AI coding assistant. |
|
Thanks, but your answer still has several mysteries (several problems).
Using Omitting url: mise ERROR Failed to install http:my-script@1.0.0: Http backend requires 'url' option The URL is in a different file. It's in the a shared mise.toml configuration file with all the other packages. It's not in this file. This is a package specific file that may go out to different URL or may change in the future where this package should NOT have to update to the URL, it has already been packaged. Having a URL here does not make sense to me. [tools]
"http:my-script" = { version = "{{MISE_TOOL_VERSION}}", postinstall = "mv -v nebula-ca/build/{{os()}}-{{arch(x64='amd64', arm64='arm64')}}/* ." }So I got it to this point. So with or without the post install attribute I get the same error: [tools."http:my-script"]
version = "1.0.0"
url = "http://example.org"
postinstall = "mv -v nebula-ca/build/{{os()}}-{{arch(x64='amd64', arm64='arm64')}}/* ."$ mise run package-arm64 package-x64 -- public
http:my-script@1.0.0 download ◜
mise ERROR Failed to install http:my-script@1.0.0: failed to persist temporary file: Directory not empty (os error 39): Directory not empty (os error 39)
mise ERROR Run with --verbose or MISE_VERBOSE=1 for more informationSo it's definitely trying to reach out to that URL. I should not have to download something, I'm just running the package tasks, NOT the install task and even then this is "POST" install so the download already happened.. |
|
I included in my project specific mise.toml file: [settings]
experimental = true
[hooks]
postinstall = "mv -v nebula-ca/build/{{os()}}-{{arch(x64='amd64', arm64='arm64')}}/* ."This did not work either. I see "experimental" on the top of the hooks page, but no warning or mention of having to add settings experimental = true. |
|
I really don't care how it works. I was under the impression that mise could handle multi-platform builds. Claude can't do it, grok can't do it, gemini-3-flash-preview can't do it, glm-5.1 can't do it, and mise's AI coding assistant can't do it..
No, I do not think so. Somewhere in the code it re-reformat. I have the shared package file in conf.d and it is fine. The files on the http server are fine. I even re-run in docker to absolutely reset everything. |
Uh oh!
There was an error while loading. Please reload this page.
What is the proper way to put the correct binaries in the path after install?
If post install would work for me, this would be ideal because I have a path for development and only if I install this do I want to put the binaries in the root folder (mise automatically includes the root folder in the path).
There's just no output other than a faulty warning (I do have double parenthesis in the packages file):
mise install http:my-script
mise WARN deprecated [legacy-version-template]: Use {{ version }} instead of {version} in URL templates This will be removed in mise 2027.3.0.
http:my-script@1.0.0 generate checksum my-script-1.0.0-linux-x64.tar.gz ✔
I do not see a
mv -vanywhere in the trace. it likely is not running. Do I even have this thing in the right file? Why is there no error? I see other types of errors. It seems to have some sort of schema validation in VSCodium; so the file format appears to be okay to me.All reactions