npm 安装本地子文件夹 eperm symlink

npm install local subfolder eperm symlink

在 windows 计算机上,我有一个项目,我正在尝试在子文件夹中安装一个本地项目:

main
 ├──node_modules
 ├──otherProject
 │   ├──node_modules
 │   ├──index.js
 │   └──package.json
 ├──package.json
 └──something.anything

npm i ./otherProject -D

但我越来越

npm ERR! code EPERM
npm ERR! syscall symlink
npm ERR! path ..\..\otherProject
npm ERR! dest C:\something\something\main\node_modules\@somescope\package
npm ERR! errno -4048
npm ERR! Error: EPERM: operation not permitted, symlink '..\..\otherProject' -> 'C:\something\something\main\node_modules\@somescope\package'

有很多类似的问题,但我发现的所有问题都归结为 -g 并且没有对全局文件夹的权限,或者只是到处都有错误的权限。我可以 npm i <pkg-name> -g 就好了,我什至有一些全局安装。这应该是本地的,需要更少的权限,而不是更多。发生了什么事,我该如何解决?

编辑: 运行 来自具有管理员权限的 shell 的命令不是可接受的解决方案。解释说,这是必需的,是。在后一种情况下,我必须使用一种解决方法,例如以私有包的形式上传到 npm,然后用正常的方式重新下载 npm i @scope/otherProject -D。我看不出任何原因,为什么像这样的本地 link 需要管理员。

在 windows 中创建符号链接默认需要管理员权限。为什么会出现这种情况 not all too clear,但这可能是由于遗留原因,从未被清除。谢谢微软。

在 windows 10 中,由于 roughly 2016 您可以启用开发人员模式,以允许非管理员使用符号链接。