【发布时间】:2021-04-24 01:40:40
【问题描述】:
环境:Windows 10,网络用户,npm@6.14.8,node@12.20.0
重新创建的步骤:全局安装任何 npm 包或全局更新 npm。
这个问题很相似,其实和这个SOF question一样。
这是终端中的错误消息。我正在复制粘贴另一个问题的错误消息和日志。值完全相同。我们俩都是网络用户:
$ npm update -g
npm ERR! code ELOOP
npm ERR! syscall stat
npm ERR! path \\fs2.my.company.com\Home\
npm ERR! errno -62
npm ERR! ELOOP: too many symbolic links encountered, stat '\\fs2.my.company.com\Home\'
npm ERR! A complete log of this run can be found in:
npm ERR! \\fs2.my.company.com\Home\MyAccount\AppData\Roaming\npm-cache\_logs\2020-12-09T17_30_03_007Z-debug.log
这里是引用的日志文件:
0 info it worked if it ends with ok
1 verbose cli [
1 verbose cli 'C:\\Program Files\\nodejs\\node.exe',
1 verbose cli 'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js',
1 verbose cli 'update',
1 verbose cli '-g'
1 verbose cli ]
2 info using npm@6.14.8
3 info using node@v14.15.1
4 verbose npm-session a666bee41aec0454
5 verbose update computing outdated modules to update
6 verbose stack Error: ELOOP: too many symbolic links encountered, stat '\\fs2.my.company.com\Home\'
6 verbose stack at eloop (C:\Program Files\nodejs\node_modules\npm\node_modules\read-package-tree\realpath.js:58:17)
6 verbose stack at realpathCached (C:\Program Files\nodejs\node_modules\npm\node_modules\read-package-tree\realpath.js:19:11)
6 verbose stack at realpathCached (C:\Program Files\nodejs\node_modules\npm\node_modules\read-package-tree\realpath.js:39:10)
6 verbose stack at realpathCached (C:\Program Files\nodejs\node_modules\npm\node_modules\read-package-tree\realpath.js:39:10)
6 verbose stack at realpathCached (C:\Program Files\nodejs\node_modules\npm\node_modules\read-package-tree\realpath.js:39:10)
6 verbose stack at realpathCached (C:\Program Files\nodejs\node_modules\npm\node_modules\read-package-tree\realpath.js:39:10)
6 verbose stack at realpathCached (C:\Program Files\nodejs\node_modules\npm\node_modules\read-package-tree\realpath.js:39:10)
6 verbose stack at realpathCached (C:\Program Files\nodejs\node_modules\npm\node_modules\read-package-tree\realpath.js:39:10)
6 verbose stack at realpathCached (C:\Program Files\nodejs\node_modules\npm\node_modules\read-package-tree\realpath.js:39:10)
6 verbose stack at realpathCached (C:\Program Files\nodejs\node_modules\npm\node_modules\read-package-tree\realpath.js:39:10)
6 verbose stack at realpathCached (C:\Program Files\nodejs\node_modules\npm\node_modules\read-package-tree\realpath.js:39:10)
6 verbose stack at realpathCached (C:\Program Files\nodejs\node_modules\npm\node_modules\read-package-tree\realpath.js:39:10)
6 verbose stack at realpathCached (C:\Program Files\nodejs\node_modules\npm\node_modules\read-package-tree\realpath.js:39:10)
6 verbose stack at realpathCached (C:\Program Files\nodejs\node_modules\npm\node_modules\read-package-tree\realpath.js:39:10)
6 verbose stack at realpathCached (C:\Program Files\nodejs\node_modules\npm\node_modules\read-package-tree\realpath.js:39:10)
6 verbose stack at realpathCached (C:\Program Files\nodejs\node_modules\npm\node_modules\read-package-tree\realpath.js:39:10)
7 verbose cwd C:\Users\MyAccount
8 verbose Windows_NT 10.0.17763
9 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "update" "-g"
10 verbose node v14.15.1
11 verbose npm v6.14.8
12 error code ELOOP
13 error syscall stat
14 error path \\fs2.my.company.com\Home\
15 error errno -62
16 error ELOOP: too many symbolic links encountered, stat '\\fs2.my.company.com\Home\'
17 verbose exit [ -62, true ]
我的猜测是由于我是网络 ActiveDirectory 用户而出现问题。解决方案是覆盖 npmrc 中 npm 的缓存和前缀。我发现我的 npmrc 文件位于“C:\Program Files\nodejs\node_modules\npm\npmrc”。
所以我在这个 npmrc 文件中写入了新的缓存和前缀值:
prefix=C:\Program Files\nodejs\node_modules\npm
cache=C:\Program Files\nodejs\npm-cache
该位置没有“npm-cache”文件夹。我认为这里的缓存位置是错误的。我从:this SOF answer 得到这个。我也在尝试cache=\\company.com\users\username\AppData\Roaming\npm-cache。
我收到一个新的权限错误:
$ npm install node-windows -g
npm ERR! code EPERM
npm ERR! syscall mkdir
npm ERR! path C:\Program Files\nodejs\node_modules\npm\node_modules\.staging
npm ERR! errno -4048
npm ERR! Error: EPERM: operation not permitted, mkdir 'C:\Program Files\nodejs\node_modules\npm\node_modules\.staging'
npm ERR! [OperationalError: EPERM: operation not permitted, mkdir 'C:\Program Files\nodejs\node_modules\npm\node_modules\.staging'] {
npm ERR! cause: [Error: EPERM: operation not permitted, mkdir 'C:\Program Files\nodejs\node_modules\npm\node_modules\.staging'] {
npm ERR! errno: -4048,
npm ERR! code: 'EPERM',
npm ERR! syscall: 'mkdir',
npm ERR! path: 'C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\.staging'
npm ERR! },
npm ERR! errno: -4048,
npm ERR! code: 'EPERM',
npm ERR! syscall: 'mkdir',
npm ERR! path: 'C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\.staging',
npm ERR! parent: 'node-windows'
npm ERR! }
npm ERR!
npm ERR! The operation was rejected by your operating system.
npm ERR! It's possible that the file was already in use (by a text editor or antivirus),
npm ERR! or that you lack permissions to access it.
npm ERR!
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator.
因此,操作系统不允许我在 C:\Program Files\nodejs\node_modules\npm\node_modules 中创建“.staging”文件夹。
我确定缓存和前缀路径的值有误。我认为 npmrc 的位置是正确的。
感谢任何帮助。提前谢谢你。
【问题讨论】:
标签: node.js npm windows-10