node.js - 如何禁用 `npm install --prefix` 的本地包依赖?

标签 node.js json npm

我有一个项目,其根目录为以下简化的 package.json文件:

package.json

{
  "name": "parent-project",
  "dependencies": {
    ...
  }
}

在我们称之为 child-project 的子文件夹中,另一个package.json居住地:

子项目/package.json

{
  "name": "child-project",
  "dependencies": {
    ...
  }
}

Some code that I depend on使用命令npm --prefix ./child-project installchild-project中安装依赖项。然而,这总是会产生改变 child-project/package.json 的不良副作用。像这样:

{
  "name": "child-project",
  "dependencies": {
    ...
    "parent-project": "file:.." // <- I don't want this!
  }
}

当我执行cd ./child-project && npm install时一切都很好,child-project/package.json保持不变,所以我的预感是它与 --prefix 有关。但有关 --prefix 的文档非常晦涩难懂。

有没有办法禁用此行为并防止 NPM 更改 child-project/package.json

最佳答案

--prefix 似乎存在一些问题。

但是,当我使用具有子包的不同模块进行测试时,我没有发现任何问题。

因此,according对于一位 npm 贡献者来说,它将在未来的版本中被重构或删除,这意味着至少目前它不是使用它的最佳选择。因此我建议您采用传统方式并避免使用 --prefix

I think we're gonna close this as a wontfix as --prefix is not the best flag to be promoting. We do eventually want to refactor or remove it but for now we should at least not be promoting it.

关于node.js - 如何禁用 `npm install --prefix` 的本地包依赖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74276339/

相关文章:

javascript - 如何将数据从客户端表单输入传输到服务器端 Nodejs 脚本?

node.js - 嵌套包含 Sequelize

sql-server - 许多更新出现死锁错误

javascript - 从 Json 获取 Google 图表

node.js - 如何添加 browserify 作为 Node.js 应用程序的依赖项?

windows - NPM 安装 (Windows) 抛出 .SLN 错误...?

javascript - meteor :ReferenceError:要求未定义

javascript - node - fs.writeFile 创建一个空白文件

java - 云端点不尊重 Jackson 注释

json - built_value 如何将 json 数组反序列化为对象数组?