当运行npm install <package>时,是否可以指定一个目标目录?
当前回答
在文档中这样写道: prefix选项和global选项一起使用:
前缀配置默认为节点的安装位置。在 大多数系统都是/usr/local。在窗户上,这是完全正确的 node.exe二进制文件的位置。在Unix系统上,它是一个更高的级别, 因为node通常安装在{prefix}/bin/node而不是 {前缀}/ node.exe。 当设置了global标志时,npm会把东西安装到这个前缀中。 未设置时,将使用当前包的根目录或 当前工作目录(如果不在包中)。
(他们强调)
所以在根目录下你可以安装
npm install --prefix <path/to/prefix_folder> -g
它会将node_modules文件夹安装到文件夹中
<path/to/prefix_folder>/lib/node_modules
其他回答
我正在使用一个powershell构建,如果不改变当前目录,就无法让npm运行。
最后使用start命令并指定工作目录:
start "npm" -ArgumentList "install --warn" -wo $buildFolder
你可以使用——prefix选项:
mkdir -p ./install/here/node_modules
npm install --prefix ./install/here <package>
包将被安装在。/install/here/node_modules目录下。mkdir是必需的,因为npm可能会选择层次结构中更高的一个已经存在的node_modules目录。(请参阅npm文档中的文件夹。)
目前还没有文档说明如何在任意目录中安装包。你应该改变到目标目录,确保它有一个包。Json,然后使用常规命令。
虽然目前有一个名为——prefix的无文档选项,但在未来的版本中可能会删除该特性。至少,它不打算将其作为一个官方特性记录下来。
在文档中这样写道: prefix选项和global选项一起使用:
前缀配置默认为节点的安装位置。在 大多数系统都是/usr/local。在窗户上,这是完全正确的 node.exe二进制文件的位置。在Unix系统上,它是一个更高的级别, 因为node通常安装在{prefix}/bin/node而不是 {前缀}/ node.exe。 当设置了global标志时,npm会把东西安装到这个前缀中。 未设置时,将使用当前包的根目录或 当前工作目录(如果不在包中)。
(他们强调)
所以在根目录下你可以安装
npm install --prefix <path/to/prefix_folder> -g
它会将node_modules文件夹安装到文件夹中
<path/to/prefix_folder>/lib/node_modules
从npm 3.8.6版本开始,你可以使用
npm install --prefix ./install/here <package>
安装到指定的目录。即使在更高层次结构中已经存在一个node_modules目录,NPM也会自动创建node_modules文件夹。 你也可以打包。然后使用——prefix选项将其安装到指定的目录中:
npm install --prefix ./install/here
从npm 6.0.0开始,你可以使用
npm install --prefix ./install/here ./
安装包。Json在当前目录到”。/安装/”目录。我在Mac上注意到一件事,它在node_modules目录内创建了一个指向父文件夹的符号链接。但是,它仍然有效。
注意:NPM尊重你通过——prefix选项指定的路径。它根据npm文档解析文件夹,仅当npm install不带——prefix选项时使用。
推荐文章
- CALL_AND_RETRY_LAST分配失败-进程内存不足
- 在Ubuntu上安装Node.js
- 使用express.js代理
- Node -使用NODE_MODULE_VERSION 51根据不同的Node.js版本编译
- RabbitMQ / AMQP:单队列,同一消息的多个消费者?
- Node.js同步执行系统命令
- 禁用包的postinstall脚本
- Node.js上的html解析器
- 错误:无法找到模块“webpack”
- 在node.js中使用async / await文件系统
- NodeJS -用NPM安装错误
- 如何为本地安装npm包设置自定义位置?
- 回调函数来处理管道的完成
- Express函数中的“res”和“req”参数是什么?
- node.js TypeError:路径必须是绝对路径或指定根路径到res.sendFile[解析JSON失败]