【问题标题】:npm install package in absolute path (Locally and package.json)npm 在绝对路径中安装包(本地和 package.json)
【发布时间】:2018-06-05 11:06:05
【问题描述】:

首先,对于幼稚的问题以及如果这听起来重复,我们深表歉意。

我希望安装一个包,例如material-ui,作为./node_module/my-material-ui 等不同路径下的外部依赖项。问题是我似乎没有找到任何选项来告诉npm 这样做,除了--prefix 选项实际上没有帮助,因为它将包安装在./node_module/my-material-ui/node_modules/material-ui 下。事实上,这是有道理的,因为它为安装路径添加前缀。我四处寻找,但没有立即找到解决方案。

现在作为以下问题,您希望在package.json 中指定必须将包安装在何处,而不是单独(和在本地)使用npm install ... 安装上述软件包。换句话说,如何通过在package.json 内部指定来实现上述目标。

提前感谢您的帮助和建议!

【问题讨论】:

  • 为什么需要将其安装为不同的名称/路径?
  • 嗨,乔,我正在使用 material-uimaterial-ui-next。当使用来自material-ui-next 的组件时,内部逻辑调用material-ui 而不是material-ui-next。这意味着它不是从material-ui-next 中挑选代码,而是转到material-ui 并失败,因为它没有找到它正在寻找的东西。有意义吗?
  • 好一个乔!我想我已经通过了。为同一个项目安装两个版本的问题。我实际上在node_modules/material-ui 上安装了material-ui,在node_modues/material-ui-next 上安装了material-ui-next。看起来你提到的问题也在谈论相同的命名空间冲突。

标签: node.js npm material-ui


【解决方案1】:

migration guide 涵盖了这种情况。

yarn add material-ui@latest
yarn add material-ui-next@npm:material-ui@next

然后

import FlatButton from 'material-ui/FlatButton'; // v0.x
import Button from 'material-ui-next/Button'; // v1.x

【讨论】:

  • 嗨,马特,看起来 yarn 所做的事情与 npm 不同,因为在前者下我似乎不再有问题了。
  • 我链接到的指南中提到过 - yarn 提供了别名功能。
猜你喜欢
  • 2013-02-25
  • 2016-04-07
  • 1970-01-01
  • 2016-02-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多