我想拆包Node.js(Linux 二进制文件 (x64))到自定义文件夹并将其用于一些项目。
当我开始使用控制台时,困难就出现了。我根本无法使用npm
,而且我不知道在这种情况下如何安装全局模块。
例如,我安装了它gulp -g
,甚至指定了它的安装路径,但是当我想使用时gulp
,它不起作用。
因此,再次强调,我不使用包管理器和/usr/lib
文件夹,而是将整个 Node.js 包放在一个文件夹中。如果可能的话,如何以这种方式使用它?
那里可能还有更多 Node.js 版本,如果有一种方法可以/paths/variables
为所选/folder/version
Node.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
,则拥有全局包可能会造成问题。