我想安装所有的npm包。我并不想在package.json中安装依赖项。我只想要一份NPM中所有包的新副本。这意味着我想下载“node_modules”文件夹中的所有软件包。这是对所有项目使用相同的包,我将所有项目的node_moduels指向一个单一的目录,在那里我可以使用所有的包。希望有人能帮帮我。提前感谢!
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", },
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替换为您要安装的包的名称。试试这个,让我知道它是如何进行的。我希望这是有益的欢呼!
2条答案
按热度按时间v9tzhpje1#
要在本地安装模块,请使用以下命令:
如果你想使用json包,你需要将所有的包注册到依赖项中,然后运行npm install。例如:
在package.json文件中:
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替换为您要安装的包的名称。
试试这个,让我知道它是如何进行的。
我希望这是有益的欢呼!