問題タブ [locallib]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
perl - local::lib によってインストールされたすべてのモジュールをアップグレードします
サーバーへの Perl モジュールのインストールを処理するために local::lib を使用しているので、システムのインストールを汚染することなく、一部の開発作業に適したバージョンを取得できます。
ただし、システム管理者が最近 Perl を 5.16 から 5.18 にアップグレードしたため、バイナリ モジュールに関連するエラーが発生しています。
私の理解では、local::lib に強制的にすべてのモジュールを再構築させることで問題を解決できますが、これを行う方法や、すべてのモジュールのリストを取得する方法さえも説明しているドキュメントは見つかりません。 local::lib を使用してインストールされたモジュール (「1 行に 1 モジュール」のテキスト ファイルにある場合は、それを処理する Bash スクリプトを簡単に作成できます)。
これは可能ですか、それとも ~/perl5 ディレクトリを削除して、すべてのモジュールを最初から再インストールする必要がありますか?
perl - サードパーティの共有 .so ライブラリで local::lib を使用する
バイナリ形式の C ライブラリ (.so
ファイル) とそのライブラリの Perl バインディングのソース (Makefile.PL
など) で構成される Perl ライブラリがあります。
必要なのは、ライブラリに同梱されている Perl サンプルを実行する機能だけです。グローバルに何かをインストールしたり、システム全体の構成を変更したりしたくありません。
だから私は特別なユーザーを作成し、すべてをホームディレクトリ内で実行したいと考えています。もちろん、環境を変更してホームディレクトリにファイル/フォルダーを追加しても問題ありません。
私はすでにlocal::lib
さまざまな CPAN ヘルパーをシステム全体にインストールしています ( cpan
、cpanp
そのcpanm
ため、それらが役立つ場合はそれらを使用できます。
作成~/lib
してそこに置く.so
ことも、 内のどこかに置くこともできます~/perl5
。
問題は、コンパイル時および実行時に共有 C ライブラリを Perl バインディングで使用できるようにする方法です。環境変数が必要なようですがLD_LIBRARY_PATH
、LDFLAGS
それらを一緒に使用する方法がわかりませんlocal::lib
。
さらに、ライブラリの名前はfoo.1.2.3.4.so
but リンカーが望んでい-lfoo
ます。foo.so -> foo.1.2.3.4.so
自分でシンボリックリンクを作成する必要がありますか?
更新:
生成された の関連部分Makefile
:
LDDLFLAGS にパッチを適用して追加の-L
スイッチを含めると機能しますが、汚れているように感じます。
perl - Perl - Local::lib が一貫して @INC のローカル パスを見つけられない - perlbrew と競合しますか?
システムへのルート アクセス権がないため、ブートストラップ方法を使用してインストールした local::lib を使用して perl モジュールをインストールしています。
次に、cpanm を正常にインストールし、cpanm を使用してモジュール FAST をインストールしました。ただし、fasgrep 関数を使用しようとすると、次のエラーが発生します。
FAST.pm がローカル ライブラリで利用できることを確認しましたが、システムはそこを探していないようです。
パス変数によると、適切な場所で検索する必要があります。
export PER5LIB=$HOME/perl5/lib/perl5 を .bash_profile に追加しましたが、まだ機能しません。
私はperlの使用に非常に慣れていません。問題は、perlbrew もインストールされていることでしょうか? もしそうなら、どうすればprelbrewの「クリーン」アンインストールを行うことができますか?
macos - ローカル perl ライブラリの場所を指定します
基本的に、UbuntuとOS Xでこれを試しました:
それでも 3 行目で~/perl5
は、~/.perl5
. どうすればこの動作を克服できますか?