在运行Windows 10时,在appveyor上以及作为虚拟机,我在为我的电子应用程序运行jest测试时会出现同样的错误。
The specified module could not be found.
\\?\C:\Users\User\peruse\app\node_modules\ref\build\Release\binding.node
Error: The specified module could not be found.
\\?\C:\Users\User\peruse\app\node_modules\ref\build\Release\binding.node
at Runtime.requireModule (node_modules/jest-runtime/build/index.js:263:31)
at bindings (app/node_modules/bindings/bindings.js:76:44)
at Object.<anonymous> (app/node_modules/ref/lib/ref.js:5:47)
(https://ci.appveyor.com/project/joshuef/peruse/build/1.0.733/job/fwflo19to9rvt085#L4664)
事情是......文件本身存在,正如运行:
所确认的那样dir \\?\C:\Users\User\peruse\app\node_modules\ref\build\Release\binding.node
导致:
-a---- 4/9/2018 1:44 AM 157696 binding.node
应用程序本身运行正常(它是一个电子应用程序,通过webpack编译)。只有在对本机库运行测试时才会出现此错误。而且只在窗户中。 (osx / linux测试运行正常。)
我尝试使用npm
代替yarn
进行重建,通过命令行重新安装vs2017工具......我在这两个系统上始终遇到此错误(这是某些东西),但我很难接受下一步尝试...
正在从命令行运行Jest。
Jest配置如此:
module.exports = {
verbose : true,
moduleFileExtensions : ['js', 'jsx', 'json'],
setupFiles : ['raf/polyfill','<rootDir>/test/setup.js'],
testPathIgnorePatterns : ['node_modules'],
moduleDirectories : ['app', 'test', 'node_modules', 'app/node_modules'],
moduleNameMapper : {
"electron": "<rootDir>/mocks/electron.js",
"\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$":
"<rootDir>/mocks/fileMock.js",
"\\.(css|scss)$": "<rootDir>/mocks/fileMock.js",
'^appPackage$' : '<rootDir>/package.json',
'^@actions(.*)$' : '<rootDir>/app/actions$1',
'^@components(.*)$' : '<rootDir>/app/components$1',
'^@containers(.*)$' : '<rootDir>/app/containers$1',
'^appConstants$' : '<rootDir>/app/constants.js',
'^@extensions(.*)$' : '<rootDir>/app/extensions$1',
'^@logger$' : '<rootDir>/app/logger.js',
'^@reducers(.*)$' : '<rootDir>/app/reducers$1',
'^@store(.*)$' : '<rootDir>/app/store',
'^@utils(.*)$' : '<rootDir>/app/utils$1'
}
};
the appveyor config file is here
任何指示/想法/事物要检查超级赞赏。如果需要更多的代码说明,请告诉我。
提前致谢!
答案 0 :(得分:0)
我在Windows 10上的ibm_db
模块上遇到了类似的错误(但在Linux Docker容器中却没有):
The specified module could not be found.
\\?\C:\_projects\projectName\node_modules\ibm_db\build\Release\odbc_bindings.node
at Runtime._loadModule (node_modules/jest-runtime/build/index.js:572:29)
at bindings (node_modules/bindings/bindings.js:112:48)
找到了解决方法here: