fs.symlink on windows: Error: ENOSYS, function not implemented #3314

Closed
AndrewGoal opened this Issue May 24, 2012 · 13 comments

4 participants

@AndrewGoal

my versions:
{ node: '0.6.18',
v8: '3.6.6.25',
ares: '1.7.5-DEV',
uv: '0.6',
openssl: '0.9.8r' }

@bnoordhuis
Node.js Foundation member

With what Windows version is that? You need Vista or newer for symlinks to work.

@AndrewGoal

Thank you very much!
My Windows version is XP.

require('os').release()
'5.1.2600'

What about creating .lnk file on Windows XP with fs.symlink()?
http://msdn.microsoft.com/en-us/library/dd871305%28v=prot.13%29.aspx

@piscisaureus

What about creating .lnk file on Windows XP with fs.symlink()?

Nope. The windows kernel doesn't know about .lnk files (this is an explorer.exe feature). We will support junctions though (although these only work for directories).

@AndrewGoal

Thank you very much!
I see now.

@qxfusion

@AndrewGoal Windows XP support this feature only after SP3 and on NTFS drives

@AndrewGoal

@qxfusion Thank you! My Windows XP is SP3 and the only driver C: is NTFS, but "the function not implemented" from log.

@ghost

I have one Windows XP SP3 box with a NTFS drive but I'm 90% sure I can't symlink.

@AndrewGoal

@shancat Why 90% not 100%? : )

@qxfusion

Windows XP SP3 and Windows Server 2003 (because have identical core) support symlink
links:
About symlink for OS lower Vista
KB205524 - http://support.microsoft.com/kb/205524
How-to implement (source code of SysInternals utilites is open)
(ru-RU) http://technet.microsoft.com/ru-ru/sysinternals/bb896768.aspx
(en-US) http://technet.microsoft.com/en-us/sysinternals/bb896768.aspx

@qxfusion

to @shancat XP SP3 and Server 2003 only partial support symlink technology, but its working fine.
Example is auto mount device from \\?\Volume{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}\ to full qualifed letter drive name. (like C: )

@AndrewGoal

@qxfusion

I have downloaded and tested on my XP box, It can creat juntions,
but my XP explorer recognise a file junction (targetted at a file) as a directory, so the file junction can't work.
Only directory junction can work on my xp box.

How-to implement (source code of SysInternals utilites is open)
(en-US) http://technet.microsoft.com/en-us/sysinternals/bb896768.aspx

I heard nodejs 0.8 will support junctions on XP, won't it?
Dose nodejs 0.6 support junctions?

@qxfusion

to @AndrewGoal - yes, XP (and Server 2003) support only folder symlink.
1) I'm not node team member - I'm don't know.
2) out-of-box - no.

@AndrewGoal

@qxfusion Thank you : )

@alFReD-NSH alFReD-NSH added a commit to alFReD-NSH/node that referenced this issue Feb 19, 2014
@alFReD-NSH alFReD-NSH docs: Added windows support of sylinks.
Based on #3314 and #3315
1099db0
@alFReD-NSH alFReD-NSH added a commit to alFReD-NSH/node that referenced this issue Feb 25, 2014
@alFReD-NSH alFReD-NSH docs: Added windows support of sylinks.
Based on #3314 and #3315
87ae4fa
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment