将 Node.js 解压到自定义文件夹并执行路径设置

将 Node.js 解压到自定义文件夹并执行路径设置

我想拆包Node.js(Linux 二进制文件 (x64))到自定义文件夹并将其用于一些项目。

当我开始使用控制台时,困难就出现了。我根本无法使用npm,而且我不知道在这种情况下如何安装全局模块。

例如,我安装了它gulp -g,甚至指定了它的安装路径,但是当我想使用时gulp,它不起作用。

因此,再次强调,我不使用包管理器和/usr/lib文件夹,而是将整个 Node.js 包放在一个文件夹中。如果可能的话,如何以这种方式使用它?

那里可能还有更多 Node.js 版本,如果有一种方法可以/paths/variables为所选/folder/versionNode.js进行设置,那就太好了。

答案1

您没有提到您希望如何管理版本,我将说明使用符号链接的简单方法。有一些软件包可以为您管理版本,例如节点版本管理器如果你更愿意使用那些。

node用户主目录中的目录开始,我用两个版本填充了它node

$ tree -L 3 node
node
|-- node-v12.16.1-linux-x64
|   |-- CHANGELOG.md
|   |-- LICENSE
|   |-- README.md
|   |-- bin
|   |   |-- node
|   |   |-- npm -> ../lib/node_modules/npm/bin/npm-cli.js
|   |   `-- npx -> ../lib/node_modules/npm/bin/npx-cli.js
|   |-- include
|   |   `-- node
|   |-- lib
|   |   `-- node_modules
|   `-- share
|       |-- doc
|       |-- man
|       `-- systemtap
`-- node-v13.10.1-linux-x64
    |-- CHANGELOG.md
    |-- LICENSE
    |-- README.md
    |-- bin
    |   |-- node
    |   |-- npm -> ../lib/node_modules/npm/bin/npm-cli.js
    |   `-- npx -> ../lib/node_modules/npm/bin/npx-cli.js
    |-- include
    |   `-- node
    |-- lib
    |   `-- node_modules
    `-- share
        |-- doc
        |-- man
        `-- systemtap

然后,您将创建一个指向您要使用的版本的符号链接:

$ ln -s node-v12.16.1-linux-x64 node/nodejs

最后,我们需要通过您的 PATH 将所有这些链接起来:

$ export PATH=~/node/nodejs/bin:$PATH

现在,您应该能够运行node命令:

$ node --version
v12.16.1
$ npm --version
6.13.4

您可以通过更改符号链接来切换版本:

$ unlink node/nodejs
$ ln -s node-v13.10.1-linux-x64 node/nodejs
$ node --version
v13.10.1
$ npm --version
6.13.7

不幸的是,这不能处理全局包,因为所有版本都会从同一位置安装/使用全局包。如果您有两个用户尝试使用不同版本的node,则拥有全局包可能会造成问题。

相关内容