在heroku上gulp失败:scss导入失败,bower_components丢失了?

时间:2016-04-06 15:38:10

标签: node.js heroku gulp bower

我正在接替别人的项目。他设计了一个带有bower和gulp的节点应用程序。

他们最初部署到AWS,现在他们想切换到heroku。因此,以前的部署过程不再起作用。

我提前了很多,但我现在正在打砖,我不知道如何继续。

我将devDependencies中的所有gulp引用移动到package.json中的依赖项,并添加了postinstall脚本。

所以gulp实际上现在在heroku上执行。 但我得到错误:

remote:        [15:31:39] Starting 'extras-admin'...
remote:        [15:31:39] Finished 'default' after 848 ms
remote:        
remote:        events.js:141
remote:        throw er; // Unhandled 'error' event
remote:        ^
remote:        Error: client/styles/main.scss
remote:        Error: File to import not found or unreadable: ../bower_components/normalize-scss/normalize.scss
remote:        Parent style sheet: stdin
remote:        on line 1 of stdin
remote:        >> @import "../bower_components/normalize-scss/normalize.scss";
remote:        ^
remote:        

现在我可以在我的本地机器上执行它并且它可以工作。

为什么@import在heroku失败?当然,bower_compoents在我的.gitignore文件中,所以也许在heroku上gulp无法创建它或什么?

1 个答案:

答案 0 :(得分:1)

您的本地计算机上可能已存在状态。删除bower_components和node_modules会发生什么? (enterText.textProperty().addListener((obs, oldTextValue, newTextValue) -> System.out.println("The new value is "+newTextValue)); )。然后npm install(rm -rf bower_components node_modules)。然后启动您的应用(npm install --quiet --production)。

如果它仍在本地运行,那么您应该打开支持票。

我怀疑你会看到同样的错误。在npm安装模块之后,您需要安装bower组件,然后您需要运行您的gulp构建。一个干净的方法来设置它(如果你不希望它在每个postinstall上运行)是创建一个构建脚本:

npm start

更多信息: