Не удалось установить node.js в Debian

Я запускаю Raspbmc, на котором работает минимальный дистрибутив Linux на основе Debian. И я хотел бы установить 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 

Вид странной ошибки, так как он находится в системном заголовке. Я думаю, что есть некоторые немного странные вещи, сделанные в библиотеках WRT, и включает в себя девианские малиновые pi-дистрибутивы. Если вы действительно действительно хотите сборку источника, вам, вероятно, придется перекрестно компилировать удачу, поскольку эти эксцентриситеты не находятся в среде x-tool, но двоичные файлы все равно должны работать.

К счастью, вам, вероятно, тоже не нужно это делать. Node.js поддерживает двоичный пакет для pi (между прочим), а 0.10.19 – -> ЗДЕСЬ <- . Вам нужен node-v0.10.19-linux-arm-pi.tar.gz .

Вам не нужно запускать configure / make / etc для использования этого пакета. Он уже скомпилирован для pi и ссылок на библиотеки в raspbian. Ну вот:

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

Файл tar составляет всего 5 МБ. Теперь:

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

Это создает каталог, node-v0.10.19-linux-arm-pi . Внутри вы найдете три каталога:

 /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 чтобы сделать его постоянным. Если вы хотите запустить узел в качестве системной службы, вам придется создать скрипт и выполнить другую конфигурацию, но это другой вопрос.

Существует также символическая ссылка на npm – диспетчер пакетов узлов в каталоге bin. Каталог /lib не обязательно должен находиться в пути к системной библиотеке, потому что это всего лишь узловые модули, но вам, вероятно, нужно указать узел, где он находится … Я не работал с узлом через несколько лет и не могу помочь с что. 2 Каталог /share содержит man-страницы; вы можете скопировать их соответствующим образом в /usr/share/man если вы хотите получить доступ к ним, как правило, с man . 3 В качестве альтернативы вы можете скопировать содержимое всех трех каталогов в свои контр-части в /usr/local и использовать его таким образом.

1 Если это не работает сразу для вас, попробуйте ldd bin/node . Не должно быть ?? на выходе. Я считаю, что все необходимые библиотеки должны быть там, кроме, возможно, для libstdc++ . Если это проблема, просто apt-get install libstdc++6 .

2 Использование и настройка узла не является специфической задачей pi, поэтому, если вы ищете помощь в этом, вам будет лучше в более общем форуме, например: https://stackoverflow.com/, который имеет много узлов .js.

3 На самом деле есть только одна страница. Вы можете прочитать его, не перемещая его, указав путь и имя файла, например man share/man/man1/node.1 .