有人可以建议 - 如何解决这个问题吗?此设置在 Windows 7 笔记本电脑上本地运行良好,但在 Windows 2008 服务器上失败。
设置如下: 1. 在 Windows Server 2008 上使用 ASP.NET Core 应用程序和 NodeServices。 2. 在服务器上安装Node.js和NPM。
以管理员帐户“xyz”之一登录。当我安装 npm 模块时 - 在本例中为 cypress 测试框架,它安装在路径下:
C:\Users\xyz\AppData\Local
但是当我运行应用程序时,它会在路径下查找模块:
C:\Windows\system32\config\systemprofile\AppData\Local\Cypress\Cache\3.1.5\Cypress\
应用程序失败,提示找不到模块。
到目前为止我尝试过的事情:
1.将cypress模块直接从用户localappdata文件夹复制到上述位置。然后就可以了。
2.尝试给出 var cypress = require('cypress') 的完整路径 - 它找到了模块,但每当我们尝试使用 cypress 时,都会给出相同的错误。
3.尝试将 nom 前缀以及缓存位置更改为上述路径,但 npm install cypress 始终仅安装在用户的 localappdata 路径下。
关于如何进行 npm 安装、在所需位置安装模块的任何想法。或者让应用程序查看所需的路径?
非常感谢。
这是错误:
An unhandled exception occurred while processing the request.
NodeInvocationException: No version of Cypress is installed in: C:\Windows\system32\config\systemprofile\AppData\Local\Cypress\Cache\3.1.5\Cypress
Please reinstall Cypress by running: cypress install
----------
Cypress executable not found at: C:\Windows\system32\config\systemprofile\AppData\Local\Cypress\Cache\3.1.5\Cypress\Cypress.exe
----------
Platform: win32 (6.1.7601)
Cypress Version: 3.1.5
Error: No version of Cypress is installed in: C:\Windows\system32\config\systemprofile\AppData\Local\Cypress\Cache\3.1.5\Cypress
Please reinstall Cypress by running: cypress install
----------
Cypress executable not found at: C:\Windows\system32\config\systemprofile\AppData\Local\Cypress\Cache\3.1.5\Cypress\Cypress.exe
----------
Platform: win32 (6.1.7601)
Cypress Version: 3.1.5
at raise (C:\inetpub\wwwroot\projectTest\node_modules\cypress\lib\errors.js:161:13)
From previous event:
at C:\inetpub\wwwroot\EmbeddedDashboard\node_modules\cypress\lib\errors.js:169:37
at C:\inetpub\wwwroot\projectTest\node_modules\cypress\lib\tasks\verify.js:48:60
From previous event:
at checkExecutable (C:\inetpub\wwwroot\projectTest\node_modules\cypress\lib\tasks\verify.js:43:11)
at C:\inetpub\wwwroot\projectTest\node_modules\cypress\lib\tasks\verify.js:213:12
at processImmediate [as _immediateCallback] (timers.js:383:17)
From previous event:
at Object.start (C:\inetpub\wwwroot\projectTest\node_modules\cypress\lib\tasks\verify.js:212:6)
at Object.start (C:\inetpub\wwwroot\projectTest\node_modules\cypress\lib\exec\run.js:130:19)
at C:\inetpub\wwwroot\projectTest\node_modules\cypress\lib\cypress.js:29:19
at _fileCreated (C:\inetpub\wwwroot\projectTest\node_modules\tmp\lib\tmp.js:246:7)
at FSReqWrap.oncomplete (fs.js:82:15)
From previous event:
at Object.run (C:\inetpub\wwwroot\projectTest\node_modules\cypress\lib\cypress.js:26:28)
at module.exports.cypress.run.then (C:\inetpub\wwwroot\projectTest\Scripts\RunTests.js:4:13)
at C:\Windows\TEMP\mecqsmig.e5o:166:18
at IncomingMessage.<anonymous> (C:\Windows\TEMP\mecqsmig.e5o:186:37)
at emitNone (events.js:67:13)
at IncomingMessage.emit (events.js:166:7)
at endReadableNT (_stream_readable.js:905:12)
at nextTickCallbackWith2Args (node.js:474:9)
at process._tickCallback (node.js:388:17)
Microsoft.AspNetCore.NodeServices.HostingModels.HttpNodeInstance.InvokeExportAsync<T>(NodeInvocationInfo invocationInfo, CancellationToken cancellationToken)
最佳答案
Cypress 使用 cachedir
找到安装 Cypress 的正确位置。 C:\Windows\System32\config\systemprofile
是 Windows 上 SYSTEM 用户的主文件夹。不知何故,npm install
是以系统身份执行的,而不是以您的用户身份执行。这将导致 Cypress 将尝试安装到 SYSTEM 的 %APPDATA%
目录,即 C:\Windows\System32\config\systemprofile
。
关于node.js - 在 Windows 2008 服务器上安装和使用 npm (Node.js) 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55211627/