npm install fails in directory encrypted with Dell Encryption software on Windows 10

爷,独闯天下 提交于 2019-12-10 20:15:19

问题


My company requires the use of Dell Encryption software.

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

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 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.

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.

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.

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.

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?


回答1:


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




回答2:


I faced the same issue. Dell Encryption Tool was pre-installed in the laptop and after a windows update, it started behaving inappropriately. On tracking the encryption logs, got to know that the shield service is not properly starting on the endpoint:

[03.12.19 13:40:57:329       NTUtils.cpp: 1555 E] [SUPPORT] [E] The Shield service is not running!  Attempting to restart. Current service state = 1

Upgrading the Dell Encryption resolved the problem.



来源:https://stackoverflow.com/questions/49947151/npm-install-fails-in-directory-encrypted-with-dell-encryption-software-on-window

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!