npm link,没有 linking devDependencies

npm link, without linking devDependencies

看来,当我 运行 npm link 时,它会全局安装项目,并且似乎会用它安装 devDependencies

有没有办法在没有 devDependencies 的情况下 运行 npm link,或许使用 --only=production 标志?

npm@4.x或更低

当您在 other_module 中 运行 npm link 时,您将同时获得依赖项和 devDependencies 的符号链接。

--production 标志没有改变任何东西,仍然创建一个指向整个目录的符号链接

npm@5.1.0

他们修好了!

如果您删除 node_modules 然后执行 npm link --only=production,它 运行 是符号链接之前的安装,因此确实排除了 devDependencies 文件夹。

npm link 目前无法做到这一点。问题是,如果您只在该依赖项中安装 prod 依赖项,您可以 link 它,但您无法再在该依赖项上进行开发(因为缺少 devDependencies)。反之亦然:如果你安装了 devDependencies,你就不能 link 了。

解决方案:https://github.com/marcj/npm-local-development

上的一个名为 npm-local-development 的包

它基本上做与 npm link 相同的事情,但通过设置文件观察器和在后台自动同步文件更改来解决 devDependency 限制,排除所有 devDependencies/peerDependencies.

  1. 你安装 npm-local-development: npm i -g npm-local-development
  2. 您在根包中创建了名为 .links.json 的文件。
  3. 像这样将每个包名及其本地相对文件夹路径写入其中

    { "@shared/core": "../../my-library-repo/packages/core" }

  4. 打开一个控制台,然后 运行 npm-local-development 在那个根包中。让它在后台运行。

免责声明:我是这个免费开源项目的作者。

我使用的解决方法是npm pack然后指向示例中的打包文件