如何在Windows上的node_modules .bin文件夹中为命令创建一个有效的符号链接?

时间:2017-07-07 16:18:12

标签: node.js windows powershell windows-10

我想从我的根目录运行lab,而不必弄乱%bindir%.\node_modules\.bin\lab.cmd。我希望能够使用$ lab运行测试。

这是我的尝试。请注意,我已经在Powershell中为grep之类的内容设置了一些别名。

$ ll .\node_modules\.bin | grep lab
-a----         7/5/2017   2:57 PM            293 lab
-a----         7/5/2017   2:57 PM            170 lab.cmd

$ cmd /c mklink lab .\node_modules\.bin\lab\lab.cmd
symbolic link created for lab <<===>> .\node_modules\.bin\lab\lab.cmd

$ ll lab

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a---l         7/7/2017   9:04 AM              0 lab

$ lab
lab : The term 'lab' is not recognized as the name of a cmdlet, function, script file... 

$ ./lab
Program 'lab' failed to run: No application is associated with the specified file...

命名别名lab.cmd没有做任何事情。这可能在Windows上吗?

1 个答案:

答案 0 :(得分:0)

我真的认为Windows的问题实际上不像那样构建。我认为可能有一种方法可以整理符号链接,但实际上这就是各种powershell配置文件的用途。当某些东西不应该是系统范围的,但你想要方便快捷地访问它。

如果你想让它自己可用你可以把它放在$ profile中,如果你想让它碰巧运行PowerShell的任何用户可以使用它,你可以把它放在C:\ windows \ System32 \ WindowsPowerShell中\ V1.0 \ Microsoft.PowerShell_profile.ps1

符号链接的功能存在于Windows中,但它不像* nix那样充实,无论好坏,取决于位置,文件名和一大堆其他古怪的东西,你可能会运行各种各样的问题。