4

実行しているアプリケーションにいくつかの依存関係をインストールしようとしていますが、開発環境が壊れているのではないかと心配しています。私はこのプログラムをMacBookで実行しています(OSX Tiger、新しいプログラムにアクセスできません)。MacPortsは公式に壊れており、コマンドを実行しようとすると次のエラーが返されます。

 sqlite error: near "ADD": syntax error (1) while executing query: ALTER TABLE registry.files ADD COLUMN binary bool
    while executing 
"registry::open $db_path"
    (procedure "mportinit" line 633)
    invoked from within
"mportinit ui_options global_options global_variations"

これはどのport__コマンドでも発生するため、MacPortsをアンインストールする標準的な方法を使用できません。しかし、そもそも私がこの状態になっていることを考えると、自分が何をしているのかを知らずに自分の周りに根を下ろしたくはありません。

  1. この問題は修正可能ですか?私自身の知識のために、このエラーを正確に引き起こした可能性があるもの、またはmacportの機能に関して実際に何を意味するのかを誰かが知っていますか?

  2. どうすれば(これが必要である/良い考えであると仮定して)macportsを完全にアンインストールできますか?後ですべてのポートを再インストールする手間をかけたくはありませんが、今持っているものよりはましです。

4

2 に答える 2

2

MacPortsは通常、開発者が意図的に互換性を壊さないため、古いバージョンのMacOSXでも動作します。MacPortsは、公式にはMac OS Xの最新リリースとそれ以前のリリースのみをサポートしています(この記事の執筆時点では、これは10.7Lionと10.6Snow Leopardです)。

ただし、ここでのレポートによると、最新のMacPorts2.1.0アップグレードにはMacOS X10.4Tigerとの互換性の問題があるようです。上記のエラーメッセージに示されているように、古いバージョンのSQLiteライブラリはALTER TABLE ... ADD COLUMN、ポートレジストリの更新に使用される構文を理解していないようです。

この場合、アップグレード手順自体のみが影響を受け、通常の操作が機能すると思います。この手順により、MacPortsレジストリがこのリリースで追加された新機能に必要な新しいバージョンになります。新しい空のレジストリを作成しても、おそらく機能します。ただし、これにはMacPortsとすべてのポートを完全に再インストールする必要があります。

アンインストールの手順に従ってください。ただし、最初のコマンドはport実行できなくなるため、スキップしてください。これにより、システムの場所にインストールされているポートの痕跡が残る場合がありますが、ほとんどの場合、これは正常に機能します。その後、ガイドのインストール手順を使用して、ソースからMacPortsをインストールします。

于 2012-05-19T22:46:22.707 に答える
0

これはMacPorts2.1.0のバグで、 Tigerにのみ影響し、2.1.1で修正されました。まだ2.0.4を実行している場合は、問題なく2.1.1に「sudoポートの自己更新」を行うことができます。2.1.0のリリース中にすでにselfupdateを実行していて、ポートコマンドを使用できない場合は、Tigerの最後のディスクイメージインストーラーを再実行してから、selfupdateを実行して2.1.1にアクセスできます。

于 2012-05-29T15:26:47.443 に答える