2013-05-28 2 views
2

ли кто-нибудь попробовать развернуть приложение, которое использует https://github.com/bower/bower к Nodejitsu хостинг?Nodejitsu и становой установить

Ошибка npm pack команда, которая используется nodejitsu для развертывания приложения. Он игнорирует все файлы, начинающиеся с точки, и особенно .bowerrc, поэтому я не могу запустить bower install в качестве сценария развертывания post.

Любые предложения? Может быть, использовать пустой файл .npmignore?

Спасибо!

ответ

2

При создании приложений вы должны зафиксировать папку components. Это рекомендуемая практика и для npm. Таким образом, вы можете обеспечить только то, что вы используете только локально. В конце концов, Bower получит команду shrinkwrap, но на данный момент это путь.

+1

Большое спасибо, я всегда думал, что вещи, которые доставлены менеджерами пакетов, - это то, что должно быть вдалеке от контроля источника. –

3

У меня была такая же проблема и (как-то) я решил ее, не передавая папку 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 это можно вызвать команды до и после развертывания с помощью script поля в package.json. Таким образом, я могу вызвать мой будуар установить на postdeployment с:

{ 
    "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 является сценарий выше.

+1

Скрипт postdeploy Nodejitsu запускается * локально *, поэтому его использование будет локально устанавливаться только локально (а не на сервере). Вы можете использовать эту технику, но вам придется делать это в своем приложении (возможно, при запуске). – inxilpro

Смежные вопросы