我一直在尝试在Visual Studio中设置一个项目,它使用GulpJS编译Sass。我被告知VS应该自动识别项目中的package.json
并运行npm install
,但我必须通过命令行手动执行此操作。即便如此,当我打开Task Runner Explorer时,它表示有(No tasks found)
。我和我的同事查找了适用于其他人的解决方案,其中许多报告称在重新启动VS,清除一些缓存数据或重新安装节点模块后取得了成功;然而,这些都不适合我。以下是我尝试的一些解决方案:
经过一番挖掘后,我遇到了软件包管理器控制台,并决定可以通过它来运行,而不是打开一个单独的CMD窗口。但是,当我这样做时,我得到了以下内容:
[11:27:43] Local gulp not found in C:\
[11:27:43] Try running: npm install gulp
我的想法是我可能需要重新安装依赖项,所以我运行了npm install
并得到了这个输出:
npm : npm WARN enoent ENOENT: no such file or directory, open 'C:\package.json'
At line:1 char:1
+ npm install
+ ~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (npm WARN enoent...:\package.json':String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
npm WARN !invalid#1 No description
npm WARN !invalid#1 No repository field.
npm WARN !invalid#1 No README data
npm
WARN
!invalid#1 No license field.
这时我注意到它正在寻找C:\package.json
而不是我的Project目录中的ls
。但是,当我运行C:\Dev\solution-name
时,它会清楚地显示它位于解决方案根目录中,位于cd Presentation\Nop.Web
。我尝试使用C:\
导航到特定项目,但我仍然得到它在TIdSSLIOHandlerSocketOpenSSL(FSocket.IOHandler).SSLOptions.SSLVersions := [sslvTLSv1_2,sslvTLSv1_1, sslvTLSv1];
根目录中的结果。任何人都可以解释为什么会发生这种情况以及如何解决它?
答案 0 :(得分:1)
我终于明白了(再过一天,我会为这个问题提供赏金),这对VS来说不是问题。回到我第一次开始使用这台特定的计算机并且仍然使用Windows的默认命令提示符时,我不喜欢它在默认情况下从%USERPROFILE%
开始。所以我找了一种改变默认方式的方法,偶然发现了一个注册表“hack”,它基本上在cd C:/
启动时运行cmd.exe
。但事实证明,这会导致其他命令行工具(包括Powershell和VS的程序包管理器)运行该命令。
如果其他人遇到此问题(由于这种情况的性质,我怀疑有人),您可以尝试按照以下步骤操作:
regedit
来完成的。HKEY_CURRENT_USER > SOFTWARE > Microsoft > Command Processor
。AutoRun
(或将其值更改为不会影响工作流程的内容)。更多信息here。
Original Registry Tutorial(请注意,如果我向下滚动一点,我可能会避免这种情况。)