2012-04-04 29 views
11

Tôi có dự án Node đang sử dụng Bundler và Guard để xử lý các bước biên dịch trước của tôi. Điều này có nghĩa rằng tôi có một Gemfile trong thư mục gốc của dự án của tôi cùng với tệp package.json.Heroku phát hiện sai ứng dụng Node của tôi dưới dạng ứng dụng Ruby

Vấn đề của tôi là Heroku tin rằng dự án của tôi là một ứng dụng Ruby, chỉ vì Gemfile tồn tại. Và phàn nàn rằng tôi đã không cam kết Gemfile.lock, mà tôi không muốn cam kết.

-----> Heroku receiving push 
-----> Ruby app detected 
! 
!  Gemfile.lock is required. Please run "bundle install" locally 
!  and commit your Gemfile.lock. 
! 
!  Heroku push rejected, failed to compile Ruby app 

Có cách nào để nói với Heroku rằng ứng dụng này là một ứng dụng Node và không phải là một ứng dụng Ruby?

+3

Tôi nghĩ bạn nên hỏi sự hỗ trợ của Heroku. – Reactormonk

+0

Tôi cho rằng, tôi nên làm điều đó trực tiếp. Tôi nghĩ rằng tôi sẽ nhận được một câu trả lời nhanh hơn ở đây, mặc dù :) – andersjanmyr

Trả lời

3

Dường như có một cách mới để làm điều này như BUILDPACK_URL hiện đang bị phản đối, giải thích here, nhưng về cơ bản lệnh này là:

$ heroku buildpacks:set heroku/nodejs

Bạn cũng có thể chỉ định một buildpack trong quá trình tạo ứng dụng:

$ heroku create myapp --buildpack heroku/nodejs

33

Giải pháp cho điều này, với rất nhiều trợ giúp từ Hỗ trợ của Heroku là: sử dụng gói xây dựng!

Ghi đè buildpacks mặc định Heroku bằng cách xác định một buildpack tùy chỉnh trong cấu hình BUILDPACK_URL var

$ heroku config:add BUILDPACK_URL=https://github.com/heroku/heroku-buildpack-nodejs 

Bạn cũng có thể chỉ định một buildpack trong quá trình tạo ứng dụng

$ heroku create -s cedar --buildpack https://github.com/heroku/heroku-buildpack-nodejs 

đơn giản khi bạn biết điều đó. Một số tài liệu hơn có thể được tìm thấy at Heroku Dev Center

+0

Chúc tôi có thể upvote này nhiều hơn ... Cảm ơn rất nhiều. – brbcoding

+0

cảm ơn rất nhiều! Tôi đã bắt đầu kéo tóc của tôi ... – smertrios

+0

Tại liên kết Heroku Dev Center mà andersjanmyr lưu ý, họ có các bản dựng theo thứ tự nhất định trong một bảng và họ nói: "Theo mặc định, các bản dựng này sẽ được tìm kiếm theo thứ tự này cho đến một kết quả phù hợp được phát hiện và sử dụng để biên dịch ứng dụng của bạn. " – rakslice

Các vấn đề liên quan