有沒有人試圖部署使用的應用程序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
非常感謝,我一直認爲包管理員提供的東西應該遠離源代碼管理。 –