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
Trying to run iotedgedev in a docker container inside a WSL2 vm always yields the same error:
ERROR: Could not update the environment variable IOTHUB_CONNECTION_STRING in file /home/iotedge/.env
Funny thing is, the variable IS written to the file. What isn't written is the next variable, so clearly an error occurs AFTER having already written the value to the file.
Iotedgedev uses dotenv to update the .env file:
def save_envvar(self, key, value):
try:
dotenv_file = self.get_dotenv_file()
dotenv_path = os.path.join(os.getcwd(), dotenv_file)
set_key(dotenv_path, key, value)
except Exception:
raise IOError(f("Could not update the environment variable {key} in file {dotenv_path}"))
Now, set_key seems to be using rewrite to update the file, and rewrite does this:
if error is None:
shutil.move(dest.name, path)
else:
os.unlink(dest.name)
raise error from None
Instead of plain move it should first do an os.remove and only then move. That should make it work with files on a Windows host.
The text was updated successfully, but these errors were encountered:
Trying to run iotedgedev in a docker container inside a WSL2 vm always yields the same error:
Funny thing is, the variable IS written to the file. What isn't written is the next variable, so clearly an error occurs AFTER having already written the value to the file.
Iotedgedev uses dotenv to update the .env file:
Now,
set_key
seems to be usingrewrite
to update the file, and rewrite does this:Instead of plain move it should first do an
os.remove
and only thenmove
. That should make it work with files on a Windows host.The text was updated successfully, but these errors were encountered: