如何在heroku命令行上调用npm(安装bower组件)?

Ste*_*fan 31 heroku node.js bower

Bower用于客户端Javascript npm用于服务器端并读取component.json文件以识别应该在部署时获取的依赖项,因此我很高兴heroku将在slug编译时运行它.

不幸的是,我无法通过heroku控制台或一次性命令(heroku run "npm help")(heroku run bash- > npm help)调用npm或bower,因为它可以使用ruby的rake.我把npm和node(latest/x版本)放在我package.json的引擎部分,而不是依赖项中.

我认为这可以通过自定义节点buildpack来解决,但我认为这对于激活一些如此明显的东西来说有点过于繁重.

xav*_*ard 64

你也可以postintall在你的设置中设置一个这样的命令package.json

"dependencies": {
    "bower": "0.6.x"
},
"scripts": {
    "postinstall": "./node_modules/bower/bin/bower install"
}
Run Code Online (Sandbox Code Playgroud)

然后npm install还将安装bower依赖项.

优点:一个命令来统治它们.

缺点:您不必要地将bower作为依赖项嵌入.

  • 如果你想让它在Windows上工作,你需要在命令前加上node:`node ./node_modules/bower/bin/bower install` (2认同)

web*_*jay 8

你可以run像这样使用:

heroku run npm install git://github.com/webjay/kaiseki
Run Code Online (Sandbox Code Playgroud)

  • 这没用.这会创建一个临时的dyno,运行命令然后销毁它.你的真正的dynos将不受影响. (8认同)

dan*_*era 5

您应该在package.json文件中声明NPM依赖项

从shell安装的所有内容都将在退出shell上删除.你是一个克隆的实例.