2016-08-23 77 views
1

我一直在關注官方文檔,將Elixir版本1.3.0的phoenix 1.2.0應用推送到Heroku,但得到以下錯誤。我正在嘗試將一個鳳凰應用部署到heroku,但得到一個NPM錯誤

remote: Generated pages app 
remote: -----> Creating .profile.d with env vars 
remote: -----> Writing export for multi-buildpack support 
remote: -----> Phoenix app detected 
remote: 
remote: -----> Loading configuration and environment 
remote:  Loading config... 
remote:  WARNING: phoenix_static_buildpack.config wasn't found in the app 
remote:  Using default config from Phoenix static buildpack 
remote:  Will use the following versions: 
remote:  * Node 5.3.0 
remote:  Will export the following config vars: 
remote:  * Config vars DATABASE_URL 
remote:  * MIX_ENV=prod 
remote: 
remote: -----> Installing binaries 
remote:  Downloading node 5.3.0... 
remote:  Installing Node 5.3.0... 
remote:  Using default npm version 
remote: 
remote: -----> Building dependencies 
remote:  Installing and caching node modules 
remote:  npm WARN ENOENT ENOENT: no such file or directory, open '/tmp/build_f2aec913d61d8c51889992d9346679be/package.json' 
remote:  npm WARN EPACKAGEJSON build_f2aec913d61d8c51889992d9346679be No description 
remote:  npm WARN EPACKAGEJSON build_f2aec913d61d8c51889992d9346679be No repository field. 
remote:  npm WARN EPACKAGEJSON build_f2aec913d61d8c51889992d9346679be No README data 
remote:  npm WARN EPACKAGEJSON build_f2aec913d61d8c51889992d9346679be No license field. 
remote:  npm ERR! Linux 3.13.0-93-generic 
remote:  npm ERR! argv "/tmp/build_f2aec913d61d8c51889992d9346679be/.heroku/node/bin/node" "/tmp/build_f2aec913d61d8c51889992d9346679be/.heroku/node/bin/npm" "--unsafe-perm" "prune" 
remote:  npm ERR! node v5.3.0 
remote:  npm ERR! npm v3.3.12 
remote:  npm ERR! path /tmp/build_f2aec913d61d8c51889992d9346679be/package.json 
remote:  npm ERR! code ENOENT 
remote:  npm ERR! errno -2 
remote:  npm ERR! syscall open 
remote:   
remote:  npm ERR! enoent ENOENT: no such file or directory, open '/tmp/build_f2aec913d61d8c51889992d9346679be/package.json' 
remote:  npm ERR! enoent This is most likely not a problem with npm itself 
remote:  npm ERR! enoent and is related to npm not being able to find a file. 
remote:  npm ERR! enoent 
remote:   
remote:  npm ERR! Please include the following file with any support request: 
remote:  npm ERR!  /tmp/build_f2aec913d61d8c51889992d9346679be/npm-debug.log 
remote: !  Push rejected, failed to compile Phoenix app. 
remote: 
remote: !  Push failed 
remote: Verifying deploy... 
remote: 

這是elixir_buildpack.config

elixir_version=1.3.0 

的內容是什麼可能是錯誤的原因的任何暗示?

+1

是你的節點5.3+和npm 3 +。你可以嘗試更新你的節點版本嗎? – TheAnh

+0

我已經添加了phoenix_static_buildpack.config文件來設置節點和npm版本爲6.0.0和3.8.6,以便它們可以匹配我在dev中使用的版本。但是我得到相同的錯誤/ – jlfenaux

回答

2

項目缺乏的package.json和早午餐config.js。添加這些文件解決了這個問題。

+0

任何人都知道是否有可能跳過所有前端的東西?我不服務任何HTML? –

+0

由於brunch-config.js和package.js位於'/ apps'中的較低目錄中,因此如何使用Umbrella App完成此操作? – DogEatDog

1

如果您要覆蓋默認值,請在應用的根目錄中創建phoenix_static_buildpack.config文件。該文件的語法是bash。

如果您未指定配置選項,則將使用buildpack的phoenix_static_buildpack.config文件中的默認選項。

下面是所有可用選項的完整配置文件:

# Clean out cache contents from previous deploys 
clean_cache=false 

# We can change the filename for the compile script with this option 
compile="compile" 

# Add the config vars you want to be exported here 
config_vars_to_export=(DATABASE_URL) 

# We can set the version of Node to use for the app here 
node_version=5.3.0 

# We can set the version of NPM to use for the app here 
npm_version=2.10.1 

# We can set the path to phoenix app. E.g. apps/phoenix_app when in umbrella. 
phoenix_relative_path=. 

下面是完整的instructions

+0

我已經有一個設置節點和npm版本。不幸的是,設置其他選項並沒有改變任何東西。 – jlfenaux

相關問題