我有一个需要npm 3+的打字稿项目。我已将它安装到C:\ Program Files \ nodesjs,并将我的系统环境变量设置为指向那里。
在Visual Studio 2017中,当我设置外部工具位置时,它仍然没有拿到npm版本3+。
答案 0 :(得分:3)
对于您的节点安装文件夹,我假设您的意思是:
C:\ Program Files \ nodejs不是 C:\ Program Files \ nodesjs
此外,您还可以从程序包管理器控制台测试npm版本。我不确定是否尊重您的外部工具配置(而是Powershell Profile),因此结果可能不会改变。
相反,在项目打开的情况下,您应该能够右键单击解决方案资源管理器中依赖关系下的 npm 节点,然后选择还原包。在 输出 窗口(Bower / npm)中,您应该看到正在从机器范围的节点安装中执行npm install
命令:
" C:\ Program Files \ nodejs \ npm.CMD"安装
答案 1 :(得分:3)
向外部工具添加额外路径的方式似乎是正确的。 你确定你有正确的版本吗? (在我的安装中,内置的nodejs版本是5.4.1和npm verison 3.3.4)
可以肯定的是,对我来说,找出Visual Studio 2017正在使用的npm安装的最佳方法是(取自How to get the npm global path prefix):
PM> npm config get prefix
如果所有其他方法都失败了,您也可以随时更新内置的npm。 只需导航到您的Web外部路径(可能是C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Professional \ Web \ External)和:
pm> npm install npm@latest
答案 2 :(得分:0)
仅在构建时使用外部Web工具配置。 PATH
变量是通过$(ExternalToolsPath)
参数由构建任务之一(重新)设置的,该任务是:外部Web工具列表的分号连接值。
由于在PowerShell控制台窗口中运行命令,因此未使用外部Web工具配置。
我最好的假设是,您的PATH
环境变量中有多个包含npm
可执行文件的目录。最新目录将始终获胜。在这种情况下,请删除重复的目录,或确保最后添加您最新版本的npm
的目录。您可以从系统属性或PowerShell控制台窗口使用的Nuget profile中执行此操作。
要在PowerShell中检查PATH
变量,请使用:
Write-Host $ENV:Path
要列出PowerShell中npm可执行文件的可能位置,请使用:
cmd /c where npm
答案 3 :(得分:0)
当尝试将Task Runner Explorer与webpack一起使用时,我遇到了类似的问题。我的问题是我的webpack.config.js文件不在我项目的根目录中(它在我的脚本文件夹中)。将其移到根目录对我来说是成功的秘诀。
答案 4 :(得分:0)
这是从dotnet新的角度模板项目中删除“ dist”文件夹后发生的。 (npm已安装并在路径中)
从Visual Studio 2017内部重新创建“ dist”文件夹(在ClientApp下)为我解决了这个问题。
答案 5 :(得分:0)
右键单击“我的电脑” 然后单击属性,然后单击高级系统设置 环境变量->系统变量->选择路径,然后单击编辑按钮 添加%AppData%\ npm %ProgramFiles%nodejs \ C:\ Program Files \ nodejs
然后单击确定->确定->确定->确定
完成此过程。关闭并再次打开Visual Studio 并执行命令“ nmp start” 在Visual Studio终端中。