2017-08-29 7 views
0

私はアルパインにあります:3.6システムに既にzeromqバイナリをインストールしました(ソースからコンパイル)。node-gypツールでビルドする代わりにnpm installでプリインストールされたバイナリ(zeromq)を使う方法は?

これでnodejsのバインディングを使用したいと思います。 soを使用するhttps://github.com/JustinTulloss/zeromq.node

ここでは、ソースからライブラリを構築するための指示があります。 https://github.com/JustinTulloss/zeromq.node/wiki/Installation#installation-on-linux--bsd-without-root-access

限り、私はこれらのそのゲームをGESSできるよう、私たちは私たち自身にlibがcomplieすることができますが、それは同じフォルダにバイナリを置き、代わりに私は(/使用/ローカル)システムにインストールされているライブラリを使用してNPMたい 私はnpm installその後、

export CXXFLAGS="-I $(readlink -f ../include)" 
export LDFLAGS="-L $(readlink -f ../lib) -Wl,-rpath=$(readlink -f ../lib)" 

それについて多くの知識をしない2つの行は、私はそうすることが可能であるCXXFLAGSとLDFLAGSの多くの知識を持っていない私たちはちょうど zeromqフォルダ

に従わLIBSを使用します。

答えて

0

rootのアクセス権がないpeopelのインストール手順は、/usrまたは/usr/localなどの「通常の場所」にソフトウェアをインストールできません。あなたのホームディレクトリのような "珍しい場所"にライブラリをインストールする場合は、ライブラリが見つかる場所をコンパイラとリンカに伝えなければなりません。この場合、CXXFLAGSLDFLAGSの使用があります。あなたはrootアクセス権を持っているようで、ZeroMQライブラリを「通常の場所」にインストールしているので、npm install zmqはこれらのvaraibalesを設定しなくても動作します。

更新:上記は動作していないようです。しかし、https://github.com/JustinTulloss/zeromq.node#project-statusによれば、このモジュールはとにかく廃止されました。新しいzeromqモデルは私のためにコンパイルされずに動作します。この最小限のDockerfileを参照してください:

FROM node:alpine 

RUN npm install zeromq 

注:これはプリインストールライブラリではなく、一つ前のビルドを使用していません。ただし、サイズを節約するために、プリインストールされたライブラリをベースイメージから除外することができます。

+0

それはソースからコンパイルしようとしています。私のケースで私はちょうど私たちのドッカーコンテナイメージが既にlibzmqプレインストールされている船の軽量アプリケーションをしたいので、私はしたくないです。 –

+0

ので、それをもう一度コンパイルするのではなく、プリインストールされたzmqを使用するようにインストールしてください。コンパイルには時間がかかります。npmをインストールしてsystme libを使用する方法はありますか? –

関連する問題