是否npm install
可以通过命令标志或环境变量来指定自定义包目标?
默认情况下,npm local安装最终会位于node_modules
当前目录中,但是我希望它安装至node_modules
其他目录中vendor/node_modules
。我该如何实现?
是否npm install
可以通过命令标志或环境变量来指定自定义包目标?
默认情况下,npm local安装最终会位于node_modules
当前目录中,但是我希望它安装至node_modules
其他目录中vendor/node_modules
。我该如何实现?
对于OSX,您可以转到用户的目录$HOME
(可能是/ Users / yourname /),如果尚不存在,则创建一个.npmrc
文件(npm用于用户配置的文件),并为npm软件包创建目录以安装在(例如,/ Users /您的名字/ npm)中。在该.npmrc文件中,将“ prefix”设置为新的npm目录,该目录将安装“全局”安装的npm软件包。这些“全局”软件包显然仅对您的用户帐户可用。
在.npmrc中:
prefix=${HOME}/npm
然后从命令行运行此命令:
npm config ls -l
它应该在您自己的本地配置和全局npm配置上提供输出,并且您应该看到本地前缀配置得到反映,可能在长输出列表的顶部附近。
为了安全起见,我建议使用这种方法通过设置/usr/local
文件夹来配置用户帐户的npm行为,我在其他地方已经看到了这种建议。
如果要在配置中使用此功能,则可以这样设置npm config:
npm config set prefix "$(pwd)/vendor/node_modules"
要么
npm config set prefix "$HOME/vendor/node_modules"
检查您的配置
npm config ls -l
或如@pje所说并使用--prefix
标志
例如,在Windows 7上,可以使用以下命令/操作集。
创建一个个人环境变量,必须使用双反斜杠:
%NPM_HOME%
C:\\SomeFolder\\SubFolder\\
现在,将配置值设置为新文件夹(示例性文件名):
npm config set prefix "%NPM_HOME%\\npm"
npm config set cache "%NPM_HOME%\\npm-cache"
npm config set tmp "%NPM_HOME%\\temp"
(可选)您可以在更改配置之前清除原始文件夹的内容。
删除npm-cache
npm cache clear
列出npm模块
npm -g ls
删除npm模块
npm -g rm name_of_package1 name_of_package2