编译成功后,Heroku app buildpack失败

时间:2014-07-23 08:06:56

标签: c heroku makefile install buildpack

我正在尝试使用专门为其设置的自定义heroku buildpack来构建C应用程序。问题是在编译之后它会到达最后一个阶段-----> Installing并失败。有人能够解释我需要做什么才能成功部署它吗?

命令:

$ git clone https://github.com/znc/znc.git && cd znc
$ heroku create --stack cedar --buildpack http://github.com/lonnen/heroku-buildpack-znc.git

Creating dark-clouds-666... 
done, stack is cedar
BUILDPACK_URL=http://github.com/lonnen/heroku-buildpack-znc.git
http://dark-clouds-666.herokuapp.com/ | git@heroku.com:dark-clouds-666.git
Git remote heroku added

$ git push heroku master

......然后它继续构建看似正常的一切......

-----> Fetching custom git buildpack... done
-----> C app detected
-----> Running autogen.sh
-----> Configuring
-----> Compiling with Make

       Linking znc...

       ZNC was successfully compiled.
       Use 'make install' to install ZNC to '/usr/local'.

-----> Installing
       test -d /usr/local/bin || /usr/bin/install -c -d /usr/local/bin
       test -d /usr/local/include/znc || /usr/bin/install -c -d /usr/local/include/znc
/usr/bin/install: cannot change permissions of `/usr/local/include/znc': No such file or directory
make: *** [install] Error 1

 !     Push rejected, failed to compile C app

To git@heroku.com:dark-clouds-666.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@heroku.com:dark-clouds-666.git'

1 个答案:

答案 0 :(得分:0)

您的用户无权使用/usr/local进行撰写。通常,make install由root用户完成,其中make可以由普通用户完成。

最快的方法是由root用户执行,这是不安全的,因为你可以修改所有内容,导致系统损坏。

您可以设置与/usr/local不同的安装位置,也可以强制heroku请求root权限(sudo make install)。