在 Windows 10 上使用戴尔加密软件加密的目录中的 npm 安装失败 [英] npm install fails in directory encrypted with Dell Encryption software on Windows 10

查看:269
本文介绍了在 Windows 10 上使用戴尔加密软件加密的目录中的 npm 安装失败的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的公司需要使用戴尔加密软件.

My company requires the use of Dell Encryption software.

最近,放置在目录中的戴尔加密跟踪器文件的残余导致 npm install 出现问题.

Recently, remnants of Dell Encryption tracker files that are placed in directories has caused issues with npm install.

Dell Encryption 有 CredDB2.CEF 文件,这些文件在跟踪每个加密文件状态的目录中创建.当我 npm install request 时,我最终在创建/修改其安装的 bin 文件的依赖项中遇到错误:

Dell Encryption has CredDB2.CEF files that get created in directories that track the state of each encrypted file. When I npm install request, I end up getting errors in a dependency that is creating/modifying the bin files of it's install:

npm ERR! path C:\project\node_modules\sshpk\bin\CredDB2.CEF
npm ERR! code ENOENT
npm ERR! errno -4058
npm ERR! syscall chmod
npm ERR! enoent ENOENT: no such file or directory, chmod 'C:\project\node_modules\sshpk\bin\CredDB2.CEF'npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent

相关的详细日志输出为:

The relevant verbose log output is:

1254 silly build sshpk@1.13.1
1255 info linkStuff sshpk@1.13.1
1256 silly linkStuff sshpk@1.13.1 has C:\project\node_modules as its parent node_modules
1257 verbose linkBins sshpk@1.13.1
1258 verbose linkBins [ { 'CredDB2.CEF': 'bin/CredDB2.CEF',
1258 verbose linkBins     'sshpk-conv': 'bin/sshpk-conv',
1258 verbose linkBins     'sshpk-sign': 'bin/sshpk-sign',
1258 verbose linkBins     'sshpk-verify': 'bin/sshpk-verify' },
1258 verbose linkBins   'C:\\project\\node_modules\\.bin',
1258 verbose linkBins   false ]

Dell Encryption 创建 CredDB2.CEF 文件作为有关加密状态的元数据,但是,在这种情况下创建的文件对典型的文件资源管理器是隐藏的(即使显示隐藏文件是启用)并且不能被使用文件完整路径的应用程序打开.

Dell Encryption creates the CredDB2.CEF file as metadata about the encryption state, however, the file created in such a matter that is is hidden from the typical file explorer (even when show hidden files is enabled) and can't be opened by applications using the full path of the file.

我怀疑它可能是在一个刻度中以一种非隐藏的方式创建的,然后实际上隐藏在另一个刻度中.同时,bins 的安装必须在包含 CredDB2.CEF 文件的 bin 目录上执行 glob,然后在 Dell Encryption 隐藏文件后执行 chmod,导致错误.

I suspect that maybe it is created in an un-hidden way in one tick, and then actually hidden in another tick. In the meantime the installation of the bins must do a glob on the bin directory which includes the CredDB2.CEF file and then later does a chmod after Dell Encryption hides the file, causing the error.

我不确定这是否是应该由 Dell、NPM 或导致错误的 NPM 软件包升级的错误.

I'm not sure if this is an error that should be escalated with Dell, NPM, or with the NPM packages that are causing the error.

我已经能够在 2 台计算机上重现该错误,但并不一致.我怀疑不一致的复制是由于 CredDB.CEF 文件被创建/隐藏时的竞争条件造成的.

I've been able to reproduce the error on 2 computers, although not consistently. I suspect the inconsistent reproduction is due to a race condition on when the CredDB.CEF file gets created/hidden.

如果我将项目安装在戴尔加密软件明确标记为不加密的目录中,则一切正常.但是,从安全的角度来看,这不是一个可以接受的答案.

If I install my project in a directory explicitly marked to not encrypt by the Dell Encryption software, everything works fine. From a security standpoint though, this isn't an acceptable answer.

npm 中是否有任何选项可以忽略 CEF 文件或忽略这些特定错误?

Are there any options within npm to ignore the CEF files or to ignore these specific errors?

还有其他可以使用的变通方法吗?

Are there any other work-arounds that could be used?

推荐答案

按照此 支持文章.这应该可以解决使用 node 和npm install"时看到的 CredDB.CEF 文件错误消息.

Upgrade Dell Encryption to version 10.0.0.12,A31 or higher as suggested in this support article. This should resolve the CredDB.CEF file error messages seen when using node and "npm install".

可以找到最新的戴尔加密驱动程序这里

Latest Dell Encryption drivers can be found here

这篇关于在 Windows 10 上使用戴尔加密软件加密的目录中的 npm 安装失败的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆