在Windows 2008 server上安装和使用npm(Node.js)模块

在Windows 2008 server上安装和使用npm(Node.js)模块,node.js,asp.net-core,npm,windows-server-2008-r2,cypress,Node.js,Asp.net Core,Npm,Windows Server 2008 R2,Cypress,有人能告诉我如何解决这个问题吗?此安装程序在Windows 7笔记本电脑上本地运行正常,但在Windows 2008 server上失败 以下是设置: 1.在Windows Server 2008上使用ASP.NET核心应用程序和节点服务。 2.已在服务器上安装Node.js和NPM 作为管理员帐户“xyz”之一登录。当我安装npm模块时-在本例中为cypress test framework,它安装在以下路径下: C:\Users\xyz\AppData\Local 但当我运行应用程序时,它

有人能告诉我如何解决这个问题吗?此安装程序在Windows 7笔记本电脑上本地运行正常,但在Windows 2008 server上失败

以下是设置: 1.在Windows Server 2008上使用ASP.NET核心应用程序和节点服务。 2.已在服务器上安装Node.js和NPM

作为管理员帐户“xyz”之一登录。当我安装npm模块时-在本例中为cypress test framework,它安装在以下路径下:

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)
处理请求时发生未处理的异常。
NodeInvocationException:C:\Windows\system32\config\systemprofile\AppData\Local\Cypress\Cache\3.1.5\Cypress中未安装任何版本的Cypress
请通过运行:Cypress install重新安装Cypress
----------
在以下位置找不到Cypress可执行文件:C:\Windows\system32\config\systemprofile\AppData\Local\Cypress\Cache\3.1.5\Cypress\Cypress.exe
----------
平台:win32(6.1.7601)
Cypress版本:3.1.5
错误:C:\Windows\system32\config\systemprofile\AppData\Local\Cypress\Cache\3.1.5\Cypress中未安装任何版本的Cypress
请通过运行:Cypress install重新安装Cypress
----------
在以下位置找不到Cypress可执行文件:C:\Windows\system32\config\systemprofile\AppData\Local\Cypress\Cache\3.1.5\Cypress\Cypress.exe
----------
平台:win32(6.1.7601)
Cypress版本:3.1.5
在raise(C:\inetpub\wwwroot\projectTest\node\u modules\cypress\lib\errors.js:161:13)
从以前的事件:
在C:\inetpub\wwwroot\EmbeddedDashboard\node\u modules\cypress\lib\errors.js:169:37
在C:\inetpub\wwwroot\projectTest\node\u modules\cypress\lib\tasks\verify.js:48:60
从以前的事件:
在checkExecutable(C:\inetpub\wwwroot\projectTest\node\u modules\cypress\lib\tasks\verify.js:43:11)
在C:\inetpub\wwwroot\projectTest\node\u modules\cypress\lib\tasks\verify.js:213:12
在processImmediate[as_immediateCallback](timers.js:383:17)
从以前的事件:
在Object.start(C:\inetpub\wwwroot\projectTest\node\u modules\cypress\lib\tasks\verify.js:212:6)
在Object.start(C:\inetpub\wwwroot\projectTest\node\u modules\cypress\lib\exec\run.js:130:19)
在C:\inetpub\wwwroot\projectTest\node\u modules\cypress\lib\cypress.js:29:19
在创建的文件处(C:\inetpub\wwwroot\projectTest\node\u modules\tmp\lib\tmp.js:246:7)
在FSReqWrap.oncomplete(fs.js:82:15)
从以前的事件:
在Object.run(C:\inetpub\wwwroot\projectTest\node\u modules\cypress\lib\cypress.js:26:28)
在module.exports.cypress.run.then(C:\inetpub\wwwroot\projectTest\Scripts\RunTests.js:4:13)
在C:\Windows\TEMP\mecqsmig.e5o:166:18
在收到消息时。(C:\Windows\TEMP\mecqsmig.e5o:186:37)
在emitNone(events.js:67:13)
在IncomingMessage.emit(events.js:166:7)
在endReadableNT(_stream_readable.js:905:12)
在下一次使用2args进行回调时(node.js:474:9)
在进程中调用(node.js:388:17)
Microsoft.AspNetCore.NodeServices.HostingModels.HttpNodeInstance.InvokeExportAsync(nodeInLocationInfo invocationInfo,CancellationToken CancellationToken)

Cypress用于找到安装Cypress的正确位置
C:\Windows\System32\config\systemprofile
是Windows上系统用户的主文件夹。不知何故,
npm安装
是作为系统而不是用户执行的。这将导致Cypress尝试安装到系统的
%APPDATA%
目录,即
C:\Windows\System32\config\systemprofile

根据以下说明,这是有意义的:

Windows 7+,仅为Windows提供32位二进制文件


我想出了解决这个问题的办法。出于某种原因,当我运行应用程序时,即使它被配置为在服务帐户下运行,它仍然使用默认的系统位置作为缓存位置

通过将环境变量设置为所需位置,可以配置Cypress的缓存位置。这为我解决了问题。以下是它的链接:

基本上,您可以为这个环境变量
CYPRESS\u CACHE\u FOLDER
设置一个值,然后就可以设置了


希望这对其他人有所帮助。

您能发布错误消息吗?刚刚添加了错误堆栈跟踪。嗨,扎克,问题是:当我安装npm时,它实际上安装在登录用户的%APPDATA%本身中,而不是系统的主文件夹中。但是,在运行应用程序时,需要查看系统的主文件夹。这就是问题所在。它安装在用户的appdata位置,但运行时查看系统的appdata位置。您是否以系统而不是自己的用户的身份运行它?我以我创建的系统帐户的身份运行,但它仍然指向System32/config/location。我希望它能够查看该用户的localappdata,但出于某种原因,它并没有这样做。