如何安装所有npm包到'node_modules'文件夹

rjjhvcjd  于 2023-10-17  发布在  Node.js
关注(0)|答案(2)|浏览(152)

我想安装所有的npm包。我并不想在package.json中安装依赖项。我只想要一份NPM中所有包的新副本。这意味着我想下载“node_modules”文件夹中的所有软件包。这是对所有项目使用相同的包,我将所有项目的node_moduels指向一个单一的目录,在那里我可以使用所有的包。希望有人能帮帮我。提前感谢!

v9tzhpje

v9tzhpje1#

要在本地安装模块,请使用以下命令:

npm install PACKAGE

如果你想使用json包,你需要将所有的包注册到依赖项中,然后运行npm install。例如:
在package.json文件中:

"dependencies": {

    "@babel/core": "^7.18.6",

    "@babel/preset-env": "^7.18.6",

    "@emotion/react": "^11.9.3",

    "@emotion/styled": "^11.9.3",

   "@mui/icons-material": "^5.8.4",

   "@mui/material": "^5.8.6",

    "axios": "^0.27.2",

    "react": "^18.2.0",

    "react-cookies": "^0.1.1",

    "react-dom": "^18.2.0",
  },
z9gpfhce

z9gpfhce2#

你的问题不是那么清楚。我和我的妻子试图从我收集到的你的问题中模拟出来......你想下载所有的npm包,而不把它们作为依赖项安装在特定的项目中。是吧?
你可以使用npm pack命令为每个包创建一个.tgz tarball。然后,您可以将这些tarball解压缩到一个可用于多个项目的共享目录中。
所以,基本上,采取这些婴儿步骤来实现这一点:
创建一个目录来存放下载的软件包--这应该很简单naa。例如,您可以创建一个名为shared-packages的目录:
您可以使用以下命令

mkdir shared-packages cd shared-packages

然后您还可以列出您想要下载的所有软件包。您可以使用npm ls列出项目中当前安装的所有软件包:

我使用的命令类似于npm ls --depth=0 --json| jq -r '.依赖关系|keys[]' > package-list.txt*

如您所见,此命令将创建一个package-list.txt文件,其中包含项目中所有顶级包的名称。
然后,你可以在package-list.txt中遍历包,并使用npm pack为每个包创建tarball,并将它们移动到shared-packages目录,如下所示:

while read -r package; do npm pack“$package”mv“$package”*.tgz ./ done < package-list.txt

这将为shared-packages目录中的每个包创建.tgz文件。
现在,您可以在其他项目中使用这些tarball。要从其中一个tarball安装软件包,请使用npm install命令和tarball的文件路径。例如

npm install /path/to/shared-packages/package-name-version.tgz

将**/path/to/shared-packages/替换为您的shared-packages目录的实际路径,将package-name-version.tg**z替换为您要安装的包的名称。
试试这个,让我知道它是如何进行的。
我希望这是有益的欢呼!

相关问题