我正在尝试将一个凤凰应用程序部署到heroku,但得到一个NPM错误

我一直在关注官方文档推动一个凤凰1.2.0应用程序使用Elixir版本1.3.0到Heroku,但得到以下错误。

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 

任何暗示什么可能是错误的原因?

该项目缺less一个package.json和brunch-config.js。 添加这些文件解决了这个问题。

如果要覆盖默认值,请在应用的根目录中创build一个phoenix_static_buildpack.config文件。 该文件的语法是bash。

如果您不指定configuration选项,则将使用buildpack的phoenix_static_buildpack.config文件中的默认选项。

这是一个完整的configuration文件,包含所有可用的选项:

 # 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. Eg apps/phoenix_app when in umbrella. phoenix_relative_path=. 

这里是完整的说明