首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >避免与作曲家一起使用sudo

避免与作曲家一起使用sudo
EN

Stack Overflow用户
提问于 2016-09-30 21:39:43
回答 1查看 1.1K关注 0票数 1

我正在尝试建立一个图形软件的Neo4j PHP客户端的基本实现,遵循ReadMe。我正在开发PHP 7.0.8-0ubuntu0.16.04.2 (cli) ( NTS )

为了使这个操作有效,我发现我必须对Composer本身发出的警告使用sudo和Composer。

我安装了Composer,如下所示(使用说明)

代码语言:javascript
复制
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === 'e115a8dc7871f15d853148a7fbac7da27d6c0030b848d9b3dc09e2a0388afed865e6a3d6b3c0fad45c48e2b5fc1196ae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
sudo php composer-setup.php

这导致了以下成功的宣布:

代码语言:javascript
复制
Composer successfully installed to: /home/blackslate/composer.phar

然后,我移动了Composer,以便它可以在全球范围内使用,如这里所描述的那样。

代码语言:javascript
复制
sudo mv /home/blackslate/composer.phar /usr/local/bin/composer

接下来,我安装了最新的新4j-php客户机:

代码语言:javascript
复制
sudo apt-get install php-bcmath
sudo composer require graphaware/neo4j-bolt
composer require graphaware/neo4j-php-client:^4.0

安装和基本使用指令不包括上面的前两个步骤,但如果没有它们,最终命令将失败。

第二行显示了一个警告,不要将Composer作为root运行,但如果没有运行,则得到以下错误:

代码语言:javascript
复制
Installation failed, reverting ./composer.json to its original content.


[ErrorException]                                                             
file_put_contents(/home/blackslate/vendor/composer/installed.json): failed   
to open stream: Permission denied   

它在我的主目录中安装了一个名为vendor的目录。我把它移到了我的项目目录中。

最后,在我的项目文件夹中,我用以下脚本创建了一个名为index.php的文件:

代码语言:javascript
复制
<?php

require_once 'vendor/autoload.php';

use GraphAware\Neo4j\Client\ClientBuilder;

$client = ClientBuilder::create()
    ->addConnection('default', 'http://neo4j:password@localhost:7474') // Example for HTTP connection configuration (port is optional)
    ->addConnection('bolt', 'bolt://neo4j:password@localhost:7687') // Example for BOLT connection configuration (port is optional)
    ->build();

现在我有了一个具有以下结构的目录:

代码语言:javascript
复制
index.php            // as shown above
vendor/              // the directory installed by Composer
       autoload.php
       composer/
       graphaware/
       guzzlehttp/
       myclabs/
       psr/
       symfony/

一切似乎都如期而至。

我的问题是:在不使用sudo运行Composer的情况下,我是否可以做到这一点?

EN

回答 1

Stack Overflow用户

发布于 2016-09-30 21:47:41

你不应该确实使用sudo。其次,您应该要求客户端在您的项目文件夹,而不仅仅是在您的主目录。

没有必要要求螺栓,因为它是客户本身的隐式依赖。

对于bcmath扩展,它在自述文件中被提到为要安装的强制扩展。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39800459

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档