我正在使用javascript / Node / React模块。我发展:
我需要能够同时在 A 和 B 上进行开发。这就是为什么在 B 中执行npm install
后,我创建了一个符号链接,从 B 到 A {{1 }}。然后,我可以从 A 启动webpack dev服务器, B 的webpack dev服务器,因此,对 A 的任何修改都会影响乙即可。这种方式对我来说都很好。
我的问题是,如果我从 B 启动命令npm link ../A
,它会将符号链接保留为 A ,并从 A中删除多个节点模块存储库。我不知道为什么?我想保留现有的符号链接 A ,并在重新安装时让B忽略它。
我的第一个解决方案是在安装后填写npm脚本&在安装 B 节点模块之前预先安装以执行npm install
符号链接,然后重新生成符号链接。但对于那些没有在 A 上工作并且不需要任何符号链接的开发人员而言,这是一个问题......
我只是将npm从2更新为3,但我没有找到rimraf
如何与现有符号链接进行交互的任何答案。
我正在使用:
感谢任何有用的想法或链接
答案 0 :(得分:0)
我终于明白了附加测试的内容。我所描述的行为似乎来自' shrinkwrap.json'方法。无论在 A 文件夹中附加什么内容,如果我安装(npm install
) B , B 中的现有shrinkwrap.json
,遵循shrinkwrap
规则。
就我而言, A 中加载了dev依赖项。这些dev依赖项未列在 B 的shrinkwrap.json
中。因此,重新安装 B 时会更改 A 。
我可以产生反问题:如果我在 B 中安装 A 并执行npm shrinkwrap
,我会遇到很多错误,例如&#34 ; npm ERR! extraneous:
"
似乎没有dev依赖关系的锁定依赖关系可能不适合将npm符号链接安装到开发模式中安装的文件夹' - 又安装了dev依赖项。