npm链接,没有链接devDependencies

时间:2017-06-19 23:00:30

标签: node.js npm npm-link

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

有没有办法在没有devDependencies的情况下运行npm链接,可能带有--only=production标志?

3 个答案:

答案 0 :(得分:8)

npm@4.x或更低

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

--production标志不会改变任何内容,仍会为整个目录创建一个符号链接

npm@5.1.0

他们修好了!

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

答案 1 :(得分:2)

npm link当前无法实现。问题是,如果您仅在该依赖项中安装了prod依赖项,则可以链接它,但是您将无法再基于该依赖项进行开发(因为缺少devDependencies)。反之亦然:如果安装devDependencies,则无法链接。

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

的名为npm-local-development的软件包

它与npm link基本上具有相同的作用,但是通过设置文件观察程序并在后台自动同步文件更改(不包括所有devDependencies / peerDependencies)来解决devDependency限制。

  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。让它在后台运行。

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

答案 2 :(得分:0)

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