2017-05-31 57 views
1

我在这里悄悄地生气。我的包需要webpack和ts-loader来构建。纱线“添加webpack”删除其他包?

我做yarn add webpack --dev,然后webpack在我的node_modules文件夹中。我现在做yarn add ts-loader --dev和ts-loader在那里,但webpack不见了(虽然仍然显示在package.json中)!

如果我现在再次添加webpack,ts-loader消失......发生了什么事?

使用--verbose标志,我可以看到webpack正在将ts-loader移除为“无关程序包”,反之亦然。

我想纱线本身已经非常困惑。我如何清除它的所有本地状态,并让它干净地下拉package.json中列出的软件包?

+0

删除node_modules并运行'yarn'?它似乎安装对我来说都很好。我的整个的package.json是'{ “devDependencies”:{ “TS-装载机”: “^ 2.1.0”, “的WebPack”: “^ 2.6.1” } }' – ippi

+0

编辑我的包。 json(dev) – ippi

+0

有些奇怪的事情正在发生。我发现这是我做'纱线添加webpack ts-loader --dev'我会得到两个,但如果我然后'纱线升级'就会消失。 – Roddy

回答

0

我意识到,通过在添加时省略--dev标志,问题就消失了。

阅读文档和代码,看起来如果环境变量NODE_ENV = production那么Yarn将安装包及其需求作为devDependency,但删除所有其他devDependency包。

这是一个Github问题,提出了一个解决方案。 https://github.com/yarnpkg/yarn/issues/4095