I add a path using the "Set Path" GUI, and then save it. When I exit MATLAB and restart it, the added paths are no longer on the search path.
MATLAB: Is the modified path not saved in MATLAB
addclearclearedMATLABpathpath2rcsaveset
Related Solutions
The path is stored in the file pathdef.m inside Matlab's program directory. If you do not work with admin privileges (as recommended), you do not have write permissions for this file and all changes of the path are temporarily only. This is useful on a multi-user system, because the pathdef.m file belongs to all users.
I've added one folder to the path in pathdef.m file, which contains a function, which adds the user-defined paths temporarily depending on the user and current project. This works reliably and flexible. Alternatively you can create a startup.m and finish.m file to store the current path persistently between sessions using setpref and getpref.
These warnings could be because of one the following possible scenarios.
1. The indicated directories are in the 'pathdef.m' file used by MATLAB, but the directories do not exist in the file system.
2. The directories are added to the MATLAB path using a custom 'startup.m' file and the directories do not exist in the file system.
To troubleshoot this issue, please type 'which -all pathdef.m' at the MATLAB prompt. The topmost line of the output represents the 'pathdef.m' file which is used by MATLAB.
If the topmost line in the output is NOT $matlabroot\toolbox\local\pathdef.m (where $matlabroot is the output of typing 'matlabroot' at the MATLAB prompt), then it means that the 'pathdef.m' which is being used by MATLAB was not updated by the installer and the directory structure of MATLAB-code was changed since the previous version of MATLAB.
(The installer only updates $matlabroot\toolbox\local\pathdef.m on an install of MATLAB)
If you did not create the file that appears as the topmost output or are not concerned about which 'pathdef.m' file is used by MATLAB or you wish to use the latest 'pathdef.m' file updated by the installer then please rename/delete all the 'pathdef.m' files in the output above except $matlabroot\toolbox\local\pathdef.m.
However, if you wish to continue using the same 'pathdef.m' file then please take the following steps:
Update the above 'pathdef.m' file with the latest path information by typing the following at the MATLAB prompt. (Please note that this would delete all the previous path information and replace it with the factory settings. Hence, you might want to back up the old pathdef.m file so that you can use other path information from it at a later period.)
>>restoredefaultpath; savepath;
Note: The warning may be a symptom of a bigger issue. If the pathdef.m file created by the installer isn’t being used, not only will removed directories cause the warnings, but new directories in the new release will not be added to the MATLAB path. This could result in a much bigger issue.
However, if none of the above steps resolve the issue, then it's possible that there exists a 'startup.m' file which is adding these non-existent directories to the path. You can edit the 'startup.m' file by typing the following at the MATLAB prompt and then delete the lines that are adding the directories that appear in the warning message:
>>edit startup.m
If you are explicitly adding directories to your path in startup.m make sure you are doing so recursively by using the GENPATH command as in
addpath(genpath(<myDirectory>));
*If you are receiving warning regarding an editor path in R2020a or R2020b, please see the following Answer for workarounds:
Best Answer