簡體   English   中英

Ruby on Rails [heroku] git push heroku master錯誤

[英]Ruby on Rails [heroku] git push heroku master error

我試圖將我的Web應用程序上傳到heroku,但是發生以下錯誤。

(我正在使用cloud 9 IDE進行編碼)

$ git push heroku master
.....
remote: -----> Installing node-v10.14.1-linux-x64
remote: -----> Detecting rake tasks
remote: -----> Preparing app for Rails asset pipeline
remote:        Running: rake assets:precompile
remote:        Yarn executable was not detected in the system.
remote:        Download Yarn at https://yarnpkg.com/en/docs/install
remote:        I, [2019-05-22T02:13:47.373334 #1766]  INFO -- : Writing 
/tmp/build_fcc84922ee6a02bfc05a163c871d0548/public/assets/noimage- 
3aa3997354b4e9c37f379deb61626f55ade493078d1b42dcefe4a3ccbed34106.jpg
remote:        rake aborted!
remote:        ExecJS::RuntimeError: SyntaxError: Unexpected character '`'
remote:        JS_Parse_Error.get ((execjs):3538:621)
remote:        (execjs):4060:48
remote:        (execjs):1:102
.....
remote:  !
remote:  !     Precompiling assets failed.
remote:  !
remote:  !     Push rejected, failed to compile Ruby app.

首先,它說“在系統中沒有檢測到Yarn可執行文件”,但是如果我用yarn -v檢查它,它將被正確下載。

另外,ExecJS :: RuntimeError:SyntaxError:意外字符'`'錯誤似乎是無法識別es6,作為解決方案

config.assets.js_compressor =:uglifier

config.assets.js_compressor = Uglifier.new(和聲:true)

更改為似乎可以閱讀es6。 但是上述錯誤仍然存​​在。

另外,如果我在控制台上運行“ rake asset:precompile RAILS_ENV = production”,則它可以正常運行而不會出錯。

謝謝。

嘗試將此gem添加到您的gem文件中。

gem 'therubyracer'

試試這個鏈接:

將Rails應用程序部署到Heroku時的語法錯誤:ExecJS :: RuntimeError:SyntaxError:意外字符

config.assets.js_compressor =: uglifier

=: uglifier之間的空間:uglifier

應該是= :uglifier

並嘗試使用不帶字符串RAILS_ENV = production預編譯命令,因為Heroku默認安裝生產模式。 如果我沒錯的話

嘗試此操作,轉到其網站上的heroku儀表板,選擇您的應用,單擊齒輪圖標(設置),向下滾動,直到看到“ build packs”,添加ruby和nodejs buildpacks,並確保順序是該nodejs出現首先在列表中,然后是紅寶石(從上到下)。

如果那行不通,您能說明一下如何觸發JS的編譯嗎?

說明:我之前已經看到過此錯誤(使用npm而不是yarn),從本質上來說,您希望herokus nodejs buildpack負責JS編譯,內置的一個rails似乎與它們的系統不兼容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM