npm 在绝对路径中安装包(本地和 package.json)
Posted
技术标签:
【中文标题】npm 在绝对路径中安装包(本地和 package.json)【英文标题】:npm install package in absolute path (Locally and 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-ui
和 material-ui-next
。当使用来自material-ui-next
的组件时,内部逻辑调用material-ui
而不是material-ui-next
。这意味着它不是从material-ui-next
中挑选代码,而是转到material-ui
并失败,因为它没有找到它正在寻找的东西。有意义吗?
可能相关? ***.com/questions/42258202/…
好一个乔!我想我已经通过了。为同一个项目安装两个版本的问题。我实际上在node_modules/material-ui
上安装了material-ui
,在node_modues/material-ui-next
上安装了material-ui-next
。看起来你提到的问题也在谈论相同的命名空间冲突。
【参考方案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 提供了别名功能。以上是关于npm 在绝对路径中安装包(本地和 package.json)的主要内容,如果未能解决你的问题,请参考以下文章