web-dev-qa-db-ja.com

Drushはrootとしてインストールする必要がありますか?

あたり http://docs.drush.org/en/master/install/

# Download latest stable release using the code below or browse to github.com/drush-ops/drush/releases.
php -r "readfile('http://files.drush.org/drush.phar');" > drush
# Or use our upcoming release: php -r "readfile('http://files.drush.org/drush-unstable.phar');" > drush

# Test your install.
php drush core-status

# Make `drush` executable as a command from anywhere. Destination can be anywhere on $PATH.
chmod +x drush
Sudo mv drush /usr/local/bin

# Optional. Enrich the bash startup file with completion and aliases.
drush init

だから私はそれを試しますが、次のエラーが発生します:

[Michael@devserver ~]$ php -r "readfile('http://files.drush.org/drush.phar');" > drush
[Michael@devserver ~]$ php drush core-status
PHP Warning:  pcntl_exec(): Error has occurred: (errno 13) Permission denied in phar:///home/Michael/drush/includes/startup.inc on line 359

Warning: pcntl_exec(): Error has occurred: (errno 13) Permission denied in phar:///home/Michael/drush/includes/startup.inc on line 359
Error has occurred executing the Drush script found at /home/Michael/drush
(errno 13) Permission denied
[Michael@devserver ~]

それで、私はそれをルートとして実行してみます。

[Michael@devserver ~]$ su -
Password:
[root@devserver ~]# php /home/Michael/drush core-status
 PHP configuration      :  /etc/php.ini
 PHP OS                 :  Linux
 Drush script           :  /home/Michael/drush
 Drush version          :  8.1.2
 Drush temp directory   :  /tmp
 Drush configuration    :
 Drush alias files      :

[root@devserver ~]#

それで、すべてが良いです、そして私はそれをルートとしてインストールする必要があるだけですか?通常のユーザーとしてインストールする方法はありますか?ありがとう

6
user1032531

何が起こっているのか正確にはわかりませんが、インストール手順を使用して再現できます。

この問題は、実行パスに関連しています(詳細に調べていません)。ダウンロードしたフォルダからdrushを移動して実行すると動作します。 (cd ~/..; Michael/drush core-status)。

おそらくそれがsu-作業ディレクトリが/ rootに変更されたときに機能する理由です。不幸な赤いニシン、問題は許可にまったく関連していないようです。実行しましたかSudo php drush core-status、それでも機能しませんでした。

7
Clive

[〜#〜]注[〜#〜]質問で説明されている問題は、最新のDrushバージョンで修正されています。

いいえ、Drushをrootとしてインストールする必要はありません。

Drush pull#2246 を送信して、現在のDrushインストール手順を更新しました。

このインストール方法は Drush pull#2246 に従って問題を修正します:

# Download latest stable release using the code below or browse to github.com/drush-ops/drush/releases.
php -r "readfile('http://files.drush.org/drush.phar');" > /tmp/drush
# Or use our upcoming release: php -r "readfile('http://files.drush.org/drush-unstable.phar');" > /tmp/drush

# Test your install.
php /tmp/drush core-status

# Make `drush` executable as a command from anywhere. Destination can be anywhere on $PATH.
chmod +x /tmp/drush
Sudo mv /tmp/drush /usr/local/bin

# Optional. Enrich the bash startup file with completion and aliases.
drush init
15
Christopher

このエラーも発生していました。私の場合、それは与えられたアカウントの許可の問題であることが判明しました。 〜/ .drushディレクトリ(およびそのサブディレクトリ)が適切なアカウントによって所有されていることを確認する必要がありました。

chown -R <account_name>:<account_group> /home/<account_name>/.drush
0
nickgs

コマンドの順序を変更して、インストールをテストする前にdrushを実行可能にすると、機能します。 (少なくともそれは私のためにしました):

# Download latest stable release using the code below or browse to github.com/drush-ops/drush/releases.
php -r "readfile('http://files.drush.org/drush.phar');" > drush
# Or use our upcoming release: php -r "readfile('http://files.drush.org/drush-unstable.phar');" > drush

# Make `drush` executable as a command from anywhere. Destination can be anywhere on $PATH.
chmod +x drush
Sudo mv drush /usr/local/bin

# Test your install.
php drush core-status

# Optional. Enrich the bash startup file with completion and aliases.
drush init
0
rjb-dev