web-dev-qa-db-ja.com

コアを8.4に更新するにはどうすればよいですか?

私はこのトピックに関連する他の質問を確認しましたが、それらの半分は有用な回答を得ることができず、残りの半分は私を助けませんでした。

Drupal 8を使用してサイトを構築する場合、いくつかの問題に直面します。

  1. ビュー公開日付フィルターは8.3.xでは適切に機能しません
  2. 管理テーマは、管理者ユーザー以外のロールでは機能しません

ほとんどのパッチは8.4用に提供されているため、サイトを8.3から8.4にアップグレードしたかったので、問題が少なくなることを望みました。

現在のところ、Drupal 8.4は開発スナップショットとして入手できますが、Drushではサイトをこのバージョンに更新できませんでした。

何よりも、インストールされているDrushバージョン(v8.1.9)はDrupal 8.4と互換性がありません。

インストールしたDrushのバージョンを使用してDrupalを8.4に更新するにはどうすればよいですか?

2
Zoltán Süle
  1. データベースのバックアップを作成します。
  2. Drupalコードソースのバックアップを作成します。
  3. 私が使用しているドラッシュを知る必要がありました:

    $ drush version
    Drush Version   :  8.1.9
    

    これは私にはよくありません。

  4. ローカルインストールかグローバルインストールかを確認する必要がありました

    $ locate drush
    /usr/local/bin/drush
    $ dpkg -l | grep drush
    rc  drush    5.10.0-2ubuntu1
    

    ubuntuパッケージは以前に削除され、pearによってインストールされなかったようです。

    $ pear list
    
    Installed packages, channel pear.php.net:
    =========================================
    Package          Version State
    Archive_Tar      1.4.0   stable
    Console_Getopt   1.4.1   stable
    HTTP_Request2    2.2.1   stable
    Net_URL2         2.2.0   stable
    PEAR             1.10.1  stable
    PEAR_Manpages    1.10.0  stable
    PHP_CodeSniffer  2.5.1   stable
    Structures_Graph 1.1.1   stable
    XML_Util         1.3.0   stable
    

したがって、これはグローバルなpharインストールのみにすることができます。

  1. 私は最初にインストールのWRONG WAYを選択しましたが、これにより多くの問題が発生し(ここにはリストしません)、最後に、できなかったドラッシュインストールを行いました私の羽口を更新するには
    ここでの記録は間違っています。drushをcomposerでインストールすることにしました。グローバルバージョンがその機能を混乱させる場合は、古いものをファイルシステムから手動で削除します

    このコマンドをdrupalプロジェクトのルートディレクトリから実行しました
    $ composer require drush/drush
    これにより、他の多くのパッケージがインストールされ、drushが8.1.9から8.1.12に更新されました。この時点ですべてが良さそうでした。

    $ drush version
 Drushバージョン:8.1.12 

$ drush up drupal
結果

クラス\ Drush\VersionControl\Backup。
をロードできません

Drush 8.1.12を削除し、Drush 9.xバージョンをインストールしました。
drupalサイトを更新できなかったため、ローカルのdrushパッケージとその依存関係を削除しました。

  1. WORKING WAY
    composerバージョンが存在する場合はそれを削除し、drushを phar でグローバルにインストールします
#以下のコードを使用して最新の安定版リリースをダウンロードするか、github.com/drush-ops/drush/releasesを参照してください。
 wget https://github.com/drush-ops/drush/releases /download/8.1.16/drush.phar

#インストールをテストします。
 php drush.phar core-status 
 
#名前を変更`php drush.phar`の代わりに` drush`。宛先は$ PATHのどこにあってもかまいません。 
 chmod + x drush.phar 
 sudo mv drush.phar /usr/local/bin/drush
  1. drupalを8.3.4から8.3.5に更新しました
    $ drush up drupal

  2. このコマンドでdrupal 8.4のパッケージ名を取得しました
    $ drush dl drupal-8 --select

 [0]:キャンセル
 [1]:8.4.x-dev-2017-Jul-22-開発
 [2]:8.3.5-2017-Jul-05 -サポート、推奨
 [3]:8.3.4-2017-Jun-21-セキュリティ

私は0を選びました

  1. drupalを8.3.5から8.4に更新しました
    $ drush pm-update drupal-8.4.x-dev
最後に更新された更新情報:月、2017年6月26日-18:31 
名前インストール済みバージョン提案されたバージョンメッセージ
 Drupal 8.3.5 8.4.x-dev指定バージョンが利用可能です
 
続行しますか? (y/n):y 

最後に3つのエラーが発生しましたが、更新は成功しました。
残念ながら、drupal 8.4.x-devバージョンでは問題が解決しませんでした。

6
Zoltán Süle

Composerを使用して依存関係を更新するのが最善です。

composer update drupal/core --with-dependencies

https://www.drupal.org/docs/8/update/update-procedure-in-drupal-8 をご覧ください

Drush 9.xも必要になることに注意してください:composer require drush/drush:9. *

https://github.com/drush-ops/drush/issues/2738 を参照してください。

5
mpp

チュートリアルは、8.3から8.4へのアップデートに関連しています 'Update to Drupal core 8.4、step by step guide'

また、質問への直接の回答ではありませんが、この Drupal Composer ヘルパーは更新プロセスを容易にすることを意図していることを言及するのに良い場所です。

このプラグインを作成する動機は、Drupal composerベースのセットアップをより保守しやすくすることです。drupal-composer/ drupalによって提供されるテンプレートを使用して簡単に開始できます。 -projectですが、アップグレードは困難です。プラグインは、プロジェクトの外部とプラグインにすべてのコードを保持することでこの問題を解決し、composer update。

2
colorfield

私が走ったときcomposer update drupal/core --with-dependencies、次のエラーが発生しました:

アップデート用にリストされているパッケージ「drupal/core」がインストールされていません。無視します。

だから私は"drupal/core": "~8.3"replaceからcomposer.jsonファイルのrequireセクションへ。

推奨されていませんが、動作します。

1
Harold