node.js - 在 Windows 10 上使用 Dell Encryption 软件加密的目录中的 npm 安装失败

标签 node.js npm windows-10

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

最近,放置在目录中的 Dell Encryption 跟踪器文件的残余导致 npm install 出现问题。

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

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

相关的详细日志输出是:

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

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

我不确定这是否是应该与 Dell、NPM 或导致错误的 NPM 软件包一起升级的错误。

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

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

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

是否可以使用任何其他解决方法?

最佳答案

按照本 support article 中的建议将 Dell Encryption 升级到版本 10.0.0.12、A31 或更高版本.这应该可以解决使用 Node 和“npm install”时看到的 CredDB.CEF 文件错误消息。

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

关于node.js - 在 Windows 10 上使用 Dell Encryption 软件加密的目录中的 npm 安装失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49947151/

相关文章:

javascript - 在 Jade 中渲染 JSON 对象名称

node.js - 为什么在这个例子中使用瓦格纳

javascript - 打包具有依赖项的浏览器/服务器 CommonJS 模块

node.js - NPM集群模块并监听不同端口

c++ - 在 Windows 10 上创建缓冲区溢出

qt - 构建/部署项目测试时出错(套件 : Desktop Qt 5. 7.1 MSVC2015_64bit)执行步骤 "qmake"时

node.js - 将视频转换为 mp3 node.js

node.js - 如何在 Web 应用程序中集成外部依赖项

javascript - 避免 IIFE 模式的多个副本

windows - 在指定时间后停止批处理脚本的最佳方法是什么?