当运行npm install <package>时,是否可以指定一个目标目录?
当前回答
从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选项时使用。
其他回答
在文档中这样写道: 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选项时使用。
我正在使用一个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的无文档选项,但在未来的版本中可能会删除该特性。至少,它不打算将其作为一个官方特性记录下来。
推荐文章
- 同步和异步编程(在node.js中)的区别是什么?
- 如何编辑通过npm安装的节点模块?
- “node_modules”文件夹应该包含在git存储库中吗
- 使用package.json在全局和本地安装依赖项
- this.libOptions.parse不是一个函数
- 对嵌套文件夹运行npm install的最好方法是什么?
- 节点Multer异常字段
- 在Ubuntu上安装Bower
- 很好的初学者教程socket.io?
- CALL_AND_RETRY_LAST分配失败-进程内存不足
- 在Ubuntu上安装Node.js
- 使用express.js代理
- Node -使用NODE_MODULE_VERSION 51根据不同的Node.js版本编译
- RabbitMQ / AMQP:单队列,同一消息的多个消费者?
- Node.js同步执行系统命令