diff --git a/vnt-cli/src/config/mod.rs b/vnt-cli/src/config/mod.rs index 2d8d3f0..8b4d9f0 100644 --- a/vnt-cli/src/config/mod.rs +++ b/vnt-cli/src/config/mod.rs @@ -175,11 +175,19 @@ pub fn get_device_id() -> String { if let Some(id) = common::identifier::get_unique_identifier() { id } else { - let path_buf = crate::app_home().unwrap().join("device-id"); + let id = uuid::Uuid::new_v4().to_string(); + let path_buf = match crate::app_home() { + Ok(path_buf) => { + path_buf.join("device-id") + } + Err(e) => { + log::warn!("{:?}",e); + return id; + } + }; if let Ok(id) = std::fs::read_to_string(path_buf.as_path()) { id } else { - let id = uuid::Uuid::new_v4().to_string(); let _ = std::fs::write(path_buf, &id); id } diff --git a/vnt-cli/src/main.rs b/vnt-cli/src/main.rs index e69507f..923832b 100644 --- a/vnt-cli/src/main.rs +++ b/vnt-cli/src/main.rs @@ -18,10 +18,8 @@ mod console_out; mod root_check; pub fn app_home() -> io::Result { - let path = std::env::current_exe() - .expect("current_exe error") - .parent() - .expect("current_exe parent error") + let path = std::env::current_exe()? + .parent().ok_or(io::Error::new(io::ErrorKind::Other,"current_exe parent error"))? .join("env"); if !path.exists() { std::fs::create_dir_all(&path)?;