Heroku推送问题:找不到Bower旋转变压器

Mar*_*tin 4 heroku node.js npm angularjs bower

你知道Javascript疲劳吗?

现在我做.

我不是一个javascript开发人员,但我正在使用Node和Angular来支持我的项目服务器.

我的所有节点包都安装了npm,我的角度包是安装程序bower.因为这是我学习它的方式.我保持一个package.json和一个bower.json安装一切.通常,我所做的是:

npm install
bower install
Run Code Online (Sandbox Code Playgroud)

但是Heroku只安装了npm包,所以解决方案是在其中包含一个安装后脚本 package.json

它工作得相当完美,除非有几个库不再维护(但这是另一个问题).

从今天开始,当我遇到heroku错误信息时非常完美:

bower angular#*            ENORESOLVER Bower resolver not found: bower-npm-resolver
Run Code Online (Sandbox Code Playgroud)

这是我的 package.json

{
  "name"            : "my-marvelous-app",
  "engines": {
    "node": "5.0.0",
    "npm": "3.3.6"
    },
  "main"            : "server.js",
  "dependencies"    : {
        "express"               : "4.5.x",
        "mongoose"              : "4.2.x",
        ...
        [a bunch of important packages...]
        ...
        "vorpal"                : "latest",
        "bower"                 : "1.7.x"
  },
  "scripts"         : {
    "postinstall": "./node_modules/bower/bin/bower install"
  }
}
Run Code Online (Sandbox Code Playgroud)

和我的 bower.json

{
  "name": "my-marvelous-backoffice",
  "version": "1.0.0",
  "dependencies": {
    "angular"               : "latest",
    "angular-bootstrap"     : "latest",
    "angular-cookies"       : "latest",
    "angular-route"         : "latest",
    "bootstrap"             : "latest",
    "font-awesome"          : "latest"
  }
}
Run Code Online (Sandbox Code Playgroud)

我不知道该怎么办.npm install在我的机器上本地工作,但不在heroku上工作.请不要建议我使用其他包管理器yarn或类似的东西,我是一名移动开发人员,而且我没有太多时间去学习六个月内过时的炒作.(对不起,这是javascript疲劳!)

编辑

我终于弄清楚了.bowerrc这个配置的文件

{
    "directory": "public/libs",
    "resolvers": [
        "bower-npm-resolver"
    ]
}
Run Code Online (Sandbox Code Playgroud)

我删除了resolvers条目,然后再次工作.我不得不删除一些npm角度包但是......

小智 5

我也用我继承的项目打了这个.解决方案原来是:

[sudo] npm install -g bower-npm-resolver
Run Code Online (Sandbox Code Playgroud)

虽然在你的情况下,从你的.bowerrc工作中移除"解析器":部分,因为你bower.jsonnpm:前缀中没有依赖关系.