【问题标题】:Error in a dependency / Syntax error in bower.jsonbower.json 中的依赖项错误/语法错误
【发布时间】:2015-10-25 07:19:56
【问题描述】:

我创建了一个新的 ASP.NET V5 web 项目,并添加了一个 NPM 配置 (package.json) 文件:

{
    "version": "1.0.0",
    "name": "ASP.NET",
    "private": true,
    "devDependencies": {
        "bower": "1.4.1"
    }
}

然后我添加了一个 bower.json 文件:

{
    "name": "ASP.NET",
    "private": true,
    "dependencies": {
        "bootstrap": "*"
    }
}

出现以下错误:


编辑

当我创建一个空的 ASP.NET v5 项目时会发生这种情况。当我创建一个 MVC 项目时,它工作正常。当我从 MVC 项目(例如 gulpfile.js)中添加所有与客户端相关的项目时,我已经设法让空项目工作,所以它一定缺少它需要的东西。

【问题讨论】:

    标签: visual-studio npm bower asp.net-core


    【解决方案1】:

    我需要从NPM 文件夹中卸载bower 组件。

    我之前安装了它,然后从package.json 文件中删除了它,但它仍在NPM 文件夹中。删除后,它工作正常。

    【讨论】:

      【解决方案2】:

      我遇到了同样的问题,但这是因为我出于某种原因禁用了外部 Web 工具。要重新激活,我必须转到工具 > 选项 > 项目和解决方案 > 外部 Web 工具并检查所有选项。通过反复试验,我发现如果至少检查了 $(PATH),错误就会消失。我重新启动了 Visual Studio。

      【讨论】:

      • 太棒了!非常适合我,Visual Studio 2015,asp.net core 1。
      【解决方案3】:

      我做过的并且效果很好的事情是:

      1. 将我的 .bower.json 的所有内容(依赖项)复制到记事本(临时备份)
      2. 从 bower.json 中删除所有依赖项
      3. 转到 wwwroot/lib 并手动删除所有安装的库(再见所有文件夹)。
      4. 从我的临时备份中复制我的依赖项列表(第 1 点的记事本)。
      5. 保存文件并等待。
      6. 神奇地工作正常。

      【讨论】:

      • 注意,你只需要删除wwwroot/lib 的内容,如果你有凉亭放置你的包...在this blog postScott Hanselman 演示了一个更好的方法。你真的不想要例如无论如何,wwwroot 中的所有引导 LESS 文件......这实际上在尝试发布时给我带来了问题。
      • 这个解决方案使用 .Net Core 1.0 对我有用。我想说明这一点,因为 Core 中的内容与发布候选版本相比有所改变
      • 我的 bower.json 中有语法错误(这很奇怪,因为我从未编辑过它)
      【解决方案4】:

      我遇到了类似的问题,就我而言,解决方案是:

      1. 转到工具 -> 选项 -> 项目和解决方案 -> 外部网络工具
      2. 取消选中:
        • .\node_modules\.bin
        • $(VSINSTALLDIR)\Web\External
        • $(VSINSTALLDIR)\Web\External\git

      在 Visual Studio 2015 社区下工作正常,但请记住,我确实分别安装和配置了 nodejsgit,我没有使用任何VS 内置工具。

      更新

      在 Visual Studio 2017 社区中,路径为:

      工具 -> 选项 -> 项目和解决方案 -> Web 包管理 -> 外部 Web 工具

      【讨论】:

        【解决方案5】:

        由于 bower.json 中的语法错误,我遇到了这个错误。 我必须右键单击 VS 中的 bower 文件夹并选择“Open bower.json”。 在文件中有一个没有冒号和版本字符串的依赖项。

        【讨论】:

        • 这不能回答问题,因为他发布的代码 sn-ps 都是有效的。您可以将此添加为评论,或者在评论中询问更多详细信息。 stackoverflow.com/help/how-to-answer
        【解决方案6】:

        我遇到了这个问题,根据 Bartosz Lenar 和 marianc 的回答,我可以解释发生了什么。

        我的开发环境是 VS2015 Update 3。我已经在我的机器上手动安装了 Node v7。

        从一个新的 .NET Core 模板开始,我继续打开命令提示符,安装节点,并抓取了几个包,即:

        • 一饮而尽
        • gulp-concat
        • gulp 重命名
        • gulp-丑化
        • 咕噜咕噜

        然后我开始在我的 gulpfile 中使用 concat、rename 和 ugligy 设置我的 JS 缩小。

        到目前为止一切正常。

        当我将 gulp-sass 引用为依赖项时,事情就开始有点不对劲了。这就是捆绑节点与我从命令行使用的节点开始发生冲突的地方。错误如下(在“Task Runner Explorer”的 VS 输出窗口中):

        Node Sass 找不到当前环境的绑定:Windows 32-bit with Node.js 5.x

        通过导航到选项>项目和解决方案>外部 Web 工具并在顶部添加我的 Node 7 安装位置来解决此问题。 (https://blogs.msdn.microsoft.com/webdev/2015/03/19/customize-external-web-tools-in-visual-studio-2015/)

        这完全解决了这个问题,Gulp 正在工作。

        很遗憾,我遇到了和肖恩一样的问题;我的 Bower 依赖项引发了语法错误。

        事实证明,这又是由于版本冲突。首先,我取消了“选项”对话框中的所有内容,除了 $PATH 和我的节点路径。这修复了它;但是我意识到,实际上,如果我只是将我的 $PATH 放在顶部,VS 将使用我从命令行引用的相同版本。

        Options Dialog

        这为我解决了;并希望对实际发生的事情给出一些解释。

        【讨论】:

          【解决方案7】:

          我遇到了同样的问题,但对我来说,我必须使用 npm install -g bower 并将路径添加到环境变量中,它工作正常。

          【讨论】:

          • 在使用 VS 2015 的同一台开发笔记本电脑上安装 Visual Studio 2017 后,我不得不做同样的事情。我的是我正在编辑的较旧的 .NET Core 1.1 应用程序,安装 Angular 后不知何故失去了凉亭等在较新的 2017 VS 项目上。谢谢!
          【解决方案8】:

          为此我建议,首先你必须检查你是否安装了bower。为此,您需要使用管理权限打开命令提示符, 输入凉亭。

          如果不存在,那么你必须通过给出命令来安装它

          在命令提示符处键入命令 npm,您将在最后看到路径的详细信息。将此位置添加到 Visual Studio。 为此,您需要按照以下步骤操作 工具 > 选项 > 项目和解决方案 > 外部 Web 工具

          重启 Visual Studio 即可。希望对你有帮助

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2012-11-18
            • 2023-02-04
            • 2018-06-16
            • 2019-02-04
            • 1970-01-01
            • 1970-01-01
            • 2015-04-25
            • 2020-08-12
            相关资源
            最近更新 更多