You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
You should see a task failure. I dug a bit into the code and found the problem. Basically, when the environment variable TMPDIR is not explicitly set, rustpkg uses extra::tempfile::TempDir to store temporary files. TempDir by default operates in /tmp.
Later, rustpkg does fs::rename(&clone_target, local), in which clone_target and local are paths to different devices. libuv (the default underlying IO library) seems unable to handle this case, therefore resulting in a "cross-device link not permitted" IO error. The same error can also be reproduced with Node, as described here.
The text was updated successfully, but these errors were encountered:
Steps to reproduce:
cd
to a path on an external devicerustpkg install github.com/steveklabnik/hello
You should see a task failure. I dug a bit into the code and found the problem. Basically, when the environment variable
TMPDIR
is not explicitly set,rustpkg
usesextra::tempfile::TempDir
to store temporary files.TempDir
by default operates in/tmp
.Later,
rustpkg
doesfs::rename(&clone_target, local)
, in whichclone_target
andlocal
are paths to different devices.libuv
(the default underlying IO library) seems unable to handle this case, therefore resulting in a "cross-device link not permitted" IO error. The same error can also be reproduced with Node, as described here.The text was updated successfully, but these errors were encountered: