本文概述
直接从源代码获取软件是Unix计算机上的常见过程, 通常包括以下三个步骤:配置makefile, 编译代码, 最后将可执行文件安装到标准位置。为了在Kali Linux中使用Node.js, 建议遵循上述过程, 因为它比其他解决方案更容易。
尽管在使用Kali Linux时首选使用Python, 但是两种编程语言(Python和JavaScript)都有相同的最终目标。采用哪种平台最适合你没有正确或错误的决定, 因此, 如果你要使用JavaScript而不是Python, 也不要为此感到难过。此外, Node可以在广泛的模块中使用, 这意味着你可以在Node.JS应用程序中使用Python, 反之亦然。
让我们开始安装!
重要
“如果可以从网站上下载它, 为什么还要创建自己的Node .deb?ñee, 这真是个愚蠢的帖子……”。如你所知, Kali Linux不是正常的Linux发行版, 因此在Node网站上公开可用的软件包可能无法在其上正常工作。如果需要, 可以尝试一下, 但是要保证功能正确, 只需按照以下步骤操作, 以后就不会出现问题。
1.确认你具有所有必需的工具
要创建自己的Node的.deb包, 你将需要python和c ++” g ++”的编译器。执行以下命令以安装必需的工具(如果已安装, 则应仅对其进行更新):
sudo apt-get install python g++ make checkinstall fakeroot
注意
你可能会收到类似” dpkg被中断, 你必须手动运行’sudo dpkg –configure -a’来纠正问题”的警告。如上所述, 你只需要执行sudo dpkg –configure -a即可解决该问题, 然后再次执行该命令。
此外, 如果你无法安装checkinstall软件包(通常在Kali Linux的最新安装中发生), 请继续执行本文中提到的修复程序, 以正确安装软件包。
2.创建一个临时文件夹
你应该创建一个临时文件夹来生成Node.js的.deb包。你可以使用mktemp创建它, 以使它可以通过一个命令执行以下指令:
src=$(mktemp -d) && cd $src
-d参数指示mktemp应该建立目录而不是文件。在此命令中, 我们将创建一个变量, 该变量包含mktemp生成的临时路径, 然后切换到终端中的该目录。
3.下载并解压缩Node.js
在终端中下载执行以下命令的Node.js的可分发代码:
wget -N http://nodejs.org/dist/node-latest.tar.gz
下载完成后, 使用以下命令提取tar文件的内容:
tar xzvf node-latest.tar.gz && cd node-v*
这将创建一个带有前缀前缀node-v的文件夹, 该文件夹将根据Node.js的下载版本而有所不同。
4.运行配置脚本
配置脚本是一种可执行脚本, 旨在帮助开发要在多种不同计算机上运行的程序。它会将用户计算机上的库与该程序所需的库进行匹配, 然后再从其源代码进行编译。使用以下命令运行配置脚本:
./configure
5.创建Node .deb包以编译代码
为了创建Node.js的可安装软件包, 我们将使用CheckInstall。 CheckInstall会跟踪由安装脚本创建或修改的所有文件, 并构建标准的二进制软件包(.deb, .rpm, .tgz)。如果你使用必须编译的软件做压缩包(正是我们此时所做的事情), 那么CheckInstall非常有用。
要创建Node.js包, 请执行以下命令:
sudo fakeroot checkinstall -y --install=no --pkgversion $(echo $(pwd) | sed -n -re's/.+node-v(.+)$//p') make -j$(($(nproc)+1)) install
请注意, 对于大多数有用的操作, checkinstall必须以root用户身份运行。我们将使用fakeroot, 因为你可能已经知道, 出于安全原因, 最好避免以root用户身份执行可以由普通用户执行的所有操作, 即使你可以运行sudo也是因为它是你的计算机。
该命令应开始编译Node.js, 这将需要一些时间, 因此请放轻松, 获取可乐并等待。
6.安装Node生成的软件包
编译好程序包后, 在上一步的输出中, 你应该会收到一条消息, 指定生成的.deb程序包的名称:
在这种情况下, 我们的包的名称是node_7.7.2-1_amd64.deb, 现在我们只需要使用dpkg执行以下命令来安装它:
注意
请记住, 在上一步中, 将i参数的值替换为生成的包的名称。
sudo dpkg -i [node generated package name.deb]
# Example: sudo dpkg -i node_7.7.2-1_amd64.deb
等到安装完成就可以了, 现在你可以在Kali Linux中使用Node.js了, 而不会出现问题。你可以在终端中执行以下命令来验证Node的版本:
node -v
NPM也可以正常工作:
npm -v
总结
下次要在计算机上安装Node.js时, 只需执行命令即可, 而无需遵循整个教程:
# Verify that you have all required tools
sudo apt-get install python g++ make checkinstall fakeroot
# Create tmp dir and switch to it
src=$(mktemp -d) && cd $src
# Download the latest version of Node
wget -N http://nodejs.org/dist/node-latest.tar.gz
# Extract the content of the tar file
tar xzvf node-latest.tar.gz && cd node-v*
# Run configuration
./configure
# Create .deb for Node
sudo fakeroot checkinstall -y --install=no --pkgversion $(echo $(pwd) | sed -n -re's/.+node-v(.+)$//p') make -j$(($(nproc)+1)) install
# Replace [node_*] with the name of the generated .deb package of the previous step
sudo dpkg -i node_*
编码愉快!