0

我正在尝试C使用专门针对它的自定义 heroku buildpack 构建应用程序。问题是编译后它进入最后阶段-----> 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'
4

1 回答 1

0

您的用户没有写入权限/usr/local。通常make install由root用户make完成,普通用户可以完成。

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

你可以设置一个不同于 的安装位置/usr/local,或者你可以强制 heroku 请求 root 权限(sudo make install)。

于 2014-07-23T11:12:14.977 回答