有没有人试图部署使用的应用程序https://github.com/bower/bower到Nodejitsu托管?Nodejitsu和凉亭安装
问题是npm pack
命令,它由nodejitsu用来部署应用程序。它会忽略所有以点开头的文件,尤其是.bowerrc
这就是为什么我无法运行bower install
作为后期部署脚本。
有什么建议吗?也许使用空的.npmignore
文件?
谢谢!
有没有人试图部署使用的应用程序https://github.com/bower/bower到Nodejitsu托管?Nodejitsu和凉亭安装
问题是npm pack
命令,它由nodejitsu用来部署应用程序。它会忽略所有以点开头的文件,尤其是.bowerrc
这就是为什么我无法运行bower install
作为后期部署脚本。
有什么建议吗?也许使用空的.npmignore
文件?
谢谢!
创建应用程序时,您应该提交components
文件夹。这也是npm的推荐做法。这样你就可以确保你只部署你在本地的东西。鲍尔最终会得到一个shrinkwrap
命令,但现在这是要走的路。
我有同样的问题,并(不知何故)我解决了它没有提交bower_components
文件夹。由于Bower达到1.0,可以通过编程方式使用API,而不是通过命令行界面。因此,你可以如下创建一个小的脚本:
var bower = require('bower'),
path = require('path');
bower.commands
.install([path.resolve(".")])
.on('end', function (installed) {
console.log(installed);
});
在Nodejitsu有可能触发命令部署前后使用您的package.json
的script
领域。因此,我可以触发我的亭子上部署后安装有:
{
"name": "myapp",
"version": "0.0.1",
"description": "",
"main": "app.js",
"scripts" : {
"predeploy": "echo This will be run before deploying the app",
"postdeploy": "node bower_install.js",
"start": "node app.js"
},
"dependencies": {
...
}
}
哪里bower_install.js
是上面的脚本。
Nodejitsu的postdeploy脚本在本地*运行,因此使用它只会在本地安装组件(不在服务器上)。你可以使用这种技术,但你必须在你的应用程序中执行它(也许在启动时)。 – inxilpro
非常感谢,我一直认为包管理员提供的东西应该远离源代码管理。 –