当前位置: 首页 > 面试题库 >

如何设置本地安装npm软件包的自定义位置?

濮阳弘扬
2023-03-14
问题内容

是否npm install可以通过命令标志或环境变量来指定自定义包目标?

默认情况下,npm
local安装最终会在node_modules当前目录中进行,但是我希望它安装node_modules在其他目录中vendor/node_modules。我该如何实现?


问题答案:

TL; DR

您可以通过使用--prefix标志和--global*标志来实现。

pje@friendbear:~/foo $ npm install bower -g --prefix ./vendor/node_modules
bower@0.7.0 /Users/pje/foo/vendor/node_modules/bower

*即使这是“全局”安装,除非~/foo/vendor/node_modules存在中,否则无法通过命令行访问已安装的垃圾箱PATH

TL; R

的每个可配置属性npm都可以在六个不同的地方设置。按优先顺序:

  • 命令行标志: --prefix ./vendor/node_modules
  • 环境变量: NPM_CONFIG_PREFIX=./vendor/node_modules
  • 用户配置文件: $HOME/.npmrcuserconfig参数
  • 全局配置文件: $PREFIX/etc/npmrcuserconfig参数
  • 内置配置文件: path/to/npm/itself/npmrc
  • 默认配置: node_modules / npmconf / config-defs.js

默认情况下,本地安装的软件包进入./node_modules。全局prefix变量进入config变量(/usr/local默认情况下)。

您可以运行npm config list以查看当前配置并npm config edit进行更改。

聚苯乙烯

一般而言,npm的文档确实很有帮助。该文件夹的部分是新公共管理的一个良好的结构概述和配置部分回答了这个问题。



 类似资料:
  • 默认情况下,npm本地安装会在当前目录下的中结束,但我希望它安装到其他目录下的中,例如。我该怎么做呢?

  • 问题内容: 我在Windows7上安装grunt,node,npm,bower和grunt-cli。 说明说我应该为全局运行带有-g标志的安装命令。 安装后如何检查是否使用了-g标志。卸载它们并重新安装将花费大量时间。 问题答案: 使用带有标志的命令来查看全局安装的所有软件包: 要检查是否在全球范围内安装了特定的软件包,可以提供软件包的名称(在这种情况下),如下所示: 或者您可以使用来过滤软件包名

  • 嗨,我正在尝试使用composer设置一个项目。我能够安装CakePHP,但在自定义目录上安装CakePHP/debug_工具包时遇到了困难。我试图将其安装在“vendor/cakephp/cakephp/app/Plugin/DebugKit/”上,因为cakephp要求其插件安装在其“app”文件夹的Plugin目录中。 我已经根据这个网站设置了我的composer.json,但插件仍然安装在

  • 问题内容: 我正在使用脱机网络,并且想使用npm安装angular-cli。我有一个angular- cli的zip文件,并使用最新的节点和npm版本。我正在使用命令:从文件夹中安装angular- cli。但是我不断收到此错误消息,告诉我我没有互联网连接(可以)。那么,如何在离线时使用从Github下载的zip来安装angular-cli? 谢谢你的帮助。 问题答案: 您只需将软件包及其所有依赖

  • 问题内容: 我使用nvm下载节点v0.4.10,并安装了npm以与该版本的节点一起使用。 我正在尝试使用安装Express 我得到一个错误,表示需要节点版本> = 0.5.0。 好吧,这很奇怪,因为我遵循的是这里使用节点v0.4.10 的node + express + mongodb教程的说明,因此我假设express可用于节点v0.4.10。如果我的假设是正确的,我如何告诉npm获取适用于我的

  • 本文向大家介绍CentOS查询软件包的安装位置,包括了CentOS查询软件包的安装位置的使用技巧和注意事项,需要的朋友参考一下 在CentOS中,要查询使用yum中具安装的软件包具体的安装位置,可以使用yum -ql <软件包名>的方式进行查询。 比如,我想查询git的一个组件git-http-backend的安装位置,可以使用如下命令实现 效果如下: linux centos 下查找软件所安装的