<h1 dir="auto">What / Why</h1>

<p dir="auto">I'm trying to install a local package like <code class="notranslate">npm install ../package-name</code>. This fails when on an exFAT partition with the following stacktrace:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="1201 verbose stack Error: EISDIR: illegal operation on a directory, symlink 'E:\Repos\react-git-info' -&gt; 'E:\Repos\abhyudayasharma.github.io\node_modules\react-git-info'
1202 verbose cwd E:\Repos\abhyudayasharma.github.io
1203 verbose Windows_NT 10.0.18363
1204 verbose argv &quot;C:\\Program Files\\nodejs\\node.exe&quot; &quot;C:\\Users\\Abhyudaya\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js&quot; &quot;install&quot; &quot;..\\react-git-info\\&quot;
1205 verbose node v12.13.1
1206 verbose npm  v6.14.4
1207 error code EISDIR
1208 error syscall symlink
1209 error path E:\Repos\react-git-info
1210 error dest E:\Repos\abhyudayasharma.github.io\node_modules\react-git-info
1211 error errno -4068
1212 error EISDIR: illegal operation on a directory, symlink 'E:\Repos\react-git-info' -&gt; 'E:\Repos\abhyudayasharma.github.io\node_modules\react-git-info'
1213 verbose exit [ -4068, true ]"><pre class="notranslate"><code class="notranslate">1201 verbose stack Error: EISDIR: illegal operation on a directory, symlink 'E:\Repos\react-git-info' -&gt; 'E:\Repos\abhyudayasharma.github.io\node_modules\react-git-info'
1202 verbose cwd E:\Repos\abhyudayasharma.github.io
1203 verbose Windows_NT 10.0.18363
1204 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\Abhyudaya\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js" "install" "..\\react-git-info\\"
1205 verbose node v12.13.1
1206 verbose npm  v6.14.4
1207 error code EISDIR
1208 error syscall symlink
1209 error path E:\Repos\react-git-info
1210 error dest E:\Repos\abhyudayasharma.github.io\node_modules\react-git-info
1211 error errno -4068
1212 error EISDIR: illegal operation on a directory, symlink 'E:\Repos\react-git-info' -&gt; 'E:\Repos\abhyudayasharma.github.io\node_modules\react-git-info'
1213 verbose exit [ -4068, true ]
</code></pre></div>
<p dir="auto">exFAT does not support symlinks: <a href="https://docs.microsoft.com/en-us/windows/win32/fileio/filesystem-functionality-comparison#functionality" rel="nofollow">https://docs.microsoft.com/en-us/windows/win32/fileio/filesystem-functionality-comparison#functionality</a></p>
<p dir="auto">Since exFAT is not the only filesystem without support of symlinks, there should be a fallback. One I could think of is copying files to <code class="notranslate">node_modules</code> and watching the directory of the package to be installed for changes.</p>
<h2 dir="auto">When</h2>

<ul dir="auto">
<li>Installing a local package on an exFAT formatted drive.</li>
</ul>
<h2 dir="auto">Where</h2>

<ul dir="auto">
<li>Windows 10 1909, Version 10.0.18363.815</li>
<li>npm 6.14.4</li>
<li>Node v12.13.1</li>
</ul>
<p dir="auto">I have tested only on Windows, but this should be a problem in all other operating systems.</p>
<h2 dir="auto">How</h2>
<h3 dir="auto">Current Behavior</h3>

<ul dir="auto">
<li>Installation of the package fails due to the filesystem not supporting symlinks.</li>
</ul>
<h3 dir="auto">Steps to Reproduce</h3>

<ul dir="auto">
<li>On an exFAT partition, clone any npm package. In another npm project, install the cloned package with a relative path. The installation will fail because npm is unable to make a symlink.</li>
</ul>
<h3 dir="auto">Expected Behavior</h3>

<ul dir="auto">
<li>Installation of local packages should work like it does with NTFS and ext4.</li>
</ul>
<h2 dir="auto">Who</h2>

<ul dir="auto">
<li>n/a</li>
</ul>
<h2 dir="auto">References</h2>

<ul dir="auto">
<li>n/a</li>
</ul>
<h3 dir="auto">Is there an existing issue for this?</h3>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have searched the existing issues</li>
</ul>
<h3 dir="auto">Current Behavior</h3>
<p dir="auto"><em>No response</em></p>
<h3 dir="auto">Expected Behavior</h3>
<p dir="auto"><em>No response</em></p>
<h3 dir="auto">Steps To Reproduce</h3>
<ol dir="auto">
<li>In this environment...</li>
<li>With this config...</li>
<li>Run '...'</li>
<li>See error...</li>
</ol>
<h3 dir="auto">Environment</h3>
<ul dir="auto">
<li>OS:</li>
<li>Node:</li>
<li>npm:<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/8/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/8">@8</a>.<a href="url">ggdgxyf6z6fx6fx<br>
Duplicate of #</a></li>
</ul>