DebianにNode.jsをインストールできませんでした。

DebianにNode.jsをインストールできませんでした。

私は最小限のDebianベースのLinuxディストリビューションを実行するRaspbmcを実行しています。パッケージマネージャを介してnode.jsをインストールしたいが、システムにインストールすることはできません。このエラーが発生します。

In file included from /usr/include/linux/kernel.h:4:0,
                 from /usr/include/arm-linux-gnueabihf/sys/sysinfo.h:25,
                 from ../deps/uv/src/unix/linux-core.c:34:
/usr/include/linux/sysinfo.h:8:2: error: unknown type name '__kernel_long_t'
/usr/include/linux/sysinfo.h:9:2: error: unknown type name '__kernel_ulong_t'
/usr/include/linux/sysinfo.h:10:2: error: unknown type name '__kernel_ulong_t'
/usr/include/linux/sysinfo.h:11:2: error: unknown type name '__kernel_ulong_t'
/usr/include/linux/sysinfo.h:12:2: error: unknown type name '__kernel_ulong_t'
/usr/include/linux/sysinfo.h:13:2: error: unknown type name '__kernel_ulong_t'
/usr/include/linux/sysinfo.h:14:2: error: unknown type name '__kernel_ulong_t'
/usr/include/linux/sysinfo.h:15:2: error: unknown type name '__kernel_ulong_t'
/usr/include/linux/sysinfo.h:18:2: error: unknown type name '__kernel_ulong_t'
/usr/include/linux/sysinfo.h:19:2: error: unknown type name '__kernel_ulong_t'
/usr/include/linux/sysinfo.h:21:22: error: '__kernel_ulong_t' undeclared here (not in a function)
make[1]: *** [/root/src/node-0.10.21/out/Release/obj.target/libuv/deps/uv/src/unix/linux-core.o] Error 1
make[1]: Leaving directory `/root/src/node-0.10.21/out'
make: *** [node] Error 2

node.jsをインストールするには、次の手順に従います。

sudo apt-get install python g++ make checkinstall
mkdir ~/src && cd $_
wget -N http://nodejs.org/dist/node-latest.tar.gz
tar xzvf node-latest.tar.gz
mv node-v0.10.19 node-0.10.19
cd node-0.10.19
./configure
checkinstall --install=no

答え1

システムヘッダにあるので少し奇妙なエラーです。私の考えでは、WRTライブラリは少し奇妙なことをしており、Debianから派生したRaspberry Piディストリビューションに含まれています。本当にソースコードをビルドしたい場合は、問題がx-tool環境ではなくバイナリにあるので、クロスコンパイルする方が良いかもしれません。しなければならないまだ働いています。

幸いなことに、必要はありません。 Node.jsは、とりわけpi用のバイナリパッケージを維持します。 0.10.19は->ここ<-。あなたが欲しいnode-v0.10.19-linux-arm-pi.tar.gz

このパッケージを使用するために設定/作成/ etcを実行する必要はありません。Pi用にコンパイルされ、Raspbianのライブラリにリンクされました。ここにあります:

wget http://nodejs.org/dist/v0.10.19/node-v0.10.19-linux-arm-pi.tar.gz

tarファイルはわずか5MBです。今:

tar -xvf node-v0.10.19-linux-arm-pi.tar.gz

これによりディレクトリが作成されますnode-v0.10.19-linux-arm-pi。内部には3つのディレクトリがあります。

/bin
/lib
/share

バイナリnode実行可能ファイルはにありますbin。私はpi()で簡単に試しましたが、bin/nodeいくつかの簡単なjsコマンドを実行できるので、おそらくすべてが良いでしょう。1 すべてをそのままにして、目的の場所に移動できますが、binそのディレクトリを$PATH

export PATH=/home/pi/node-v0.10.19-linux-arm-pi/bin:$PATH

~/.bashrc耐久性を高めるために追加してください。ノードをシステムサービスとして実行するには、スクリプトを作成していくつかの追加設定を実行する必要がありますが、これは別の質問です。

npmbinディレクトリには、ノードパッケージマネージャへのシンボリックリンクもあります。ディレクトリ/libは単にノードモジュールであるため、システムライブラリのパスにある必要はありませんが、ノードがどこにあるのかを知らせる必要があるかもしれません...私は何年もノードを使用していません。 。2 この/shareディレクトリにはマニュアルページが含まれています。/usr/share/man正常にアクセスするには、マニュアルページを適切にコピーする必要があるかもしれませんman3つまたは3 つのディレクトリのすべての内容をそのセクションにコピーして、/usr/localそのように使用できます。

1今すぐ効果がない場合は試してくださいldd bin/node??出力には何もありません。私は必要なすべてのライブラリがすでにそこにあるべきだと思います。ただし、libstdc++…それが問題ならそれがすべてですapt-get install libstdc++6

2ノードの使用と設定はPi固有の作業ではないため、これを支援する場合は、次のより一般的なフォーラムで実行するのが最善です。https://stackoverflow.com/Node.js ユーザーが多い。

3には実際にはマンページが1つしかありません。パスとファイル名(例:man share/man/man1/node.1

関連情報