Error: `error: cannot coerce a function to a string`
This article was originally published at https://gist.github.com/joepie91/b0041188c043259e6e1059d026eff301.
Probably caused by a syntax ambiguity when invoking functions within a list. For example, the following will throw this error:
{
# ...
srcs = [
fetchurl {
url = "https://github.com/adobe/brackets-shell/archive/${shellBranch}.tar.gz";
sha256 = shellHash;
}
fetchurl {
url = "https://github.com/adobe/brackets/archive/release-${version}.tar.gz";
sha256 = "00yc81p30yamr86pliwd465ag1lnbx8j01h7a0a63i7hsq4vvvvg";
}
];
# ...
}
This can be solved by adding parentheses around the invocations:
{
# ...
srcs = [
(fetchurl {
url = "https://github.com/adobe/brackets-shell/archive/${shellBranch}.tar.gz";
sha256 = shellHash;
})
(fetchurl {
url = "https://github.com/adobe/brackets/archive/release-${version}.tar.gz";
sha256 = "00yc81p30yamr86pliwd465ag1lnbx8j01h7a0a63i7hsq4vvvvg";
})
];
# ...
}
No Comments