当前位置: 首页 > 知识库问答 >
问题:

如何将npm安装到指定的目录?

许胡非
2023-03-14

运行npm安装时是否可以指定目标目录


共有3个答案

司徒宇
2023-03-14

文档中规定:将前缀选项与全局选项一起使用:

前缀配置默认为节点的安装位置。在大多数系统上,这是/usr/local。在windows上,这是node.exe二进制文件的确切位置。在Unix系统上,这是一个级别,因为节点通常安装在{prefix}/bin/node,而不是{prefix}/node.exe。

当设置全局标志时,npm会将内容安装到此前缀中。如果未设置,则使用当前包的根目录,或者当前工作目录(如果尚未在包中)。

(他们强调)

因此,您可以在根目录中安装

npm install --prefix <path/to/prefix_folder> -g

并且它会将node_modules文件夹安装到文件夹中

<path/to/prefix_folder>/lib/node_modules
解沈义
2023-03-14

从npm版本3.8.6开始,您可以使用

npm install --prefix ./install/here <package>

安装到指定的目录中。NPM会自动创建node\u modules文件夹,即使较高层次结构中已经存在node\u modules目录。您还可以在当前目录中安装包.json,然后使用--prefix选项将其安装到指定目录中:

npm install --prefix ./install/here

从npm 6.0.0开始,您可以使用

npm install --prefix ./install/here ./

将当前目录中的package.json安装到“/install/here”目录。我在Mac上注意到,它在node_modules目录中创建了一个指向父文件夹的符号链接。但是,它仍然有效。

注意:NPM尊重您通过--prefix选项指定的路径。仅当使用npm install而不使用--prefix选项时,它才会根据文件夹上的npm文档进行解析。

童子明
2023-03-14

您可以使用--prefix选项:

mkdir -p ./install/here/node_modules
npm install --prefix ./install/here <package>

然后,包将安装./set/here/node_modules中。需要mkdir,因为npm可能会选择层次结构中较高层中已经存在的node_modules目录。(请参见文件夹上的npm留档。)

 类似资料:
  • 问题内容: 运行时是否可以指定目标目录? 问题答案: 您可以使用以下选项: 软件包将安装在中。之所以需要,是因为npm否则可能会选择层次结构中更高层次的已存在目录。(请参阅文件夹上的npm文档。)

  • 问题内容: 我使用脚本来构建我的项目。我希望能够从其他目录运行脚本。也就是说,不要执行以下操作: …我只想做类似的事情: 要么 这可能吗? 问题答案: 使用对我有用: 哪里是你的所在目录 的package.json 与定义的命令。

  • 将Node+NPM安装到主目录的说明

  • 我对此进行了广泛的研究,但一无所获。所以我希望这能产生一个不同的解决方案。 我一直收到这个错误 这不是一台Mac,而是一台Windows机器,所以与sudo无关,因为这里有其他的回应 我没有运行杀毒软件,所以这也是一个禁区 我运行了,正如这里建议的和其他SO解决方案 它运行得很好,当我尝试安装angular ui引导程序时,它开始这样做。但是我可以很好地安装其他依赖项。 我还做了: 重启了我的机器

  • 我正在尝试安装我的angular项目,它在我的一台旧笔记本电脑上工作。目前,当我尝试npm安装时,它会给我带来很多错误。我附上我的日志一些帮助将不胜感激。提前谢谢。 shiva@shiva-X507UB:~/lokkaly angular$npm安装 grpc@1.13.1install/home/shiva/lokkaly angular/node_modules/grpc node pre-g

  • 问题内容: 我有这个定义: 我正在使用Symfony 1,并且想在上安装它们。我该如何指定? 问题答案: 看来您可以将目录定义为其他内容(在您的情况下): 然后,您可以将包名称重命名为其中没有级别目录,例如: 因此,您应该看起来像这样: 编辑 使用此配置,您将获得路径(这 当然 对symfony不利): 插件/sfGuardPlugin/sfGuardPlugin-4.0.2/ 我发现了一个解决方