当我运行npm link
时,它会全局安装项目,并且似乎用它安装devDependencies 。
有没有办法在没有devDependencies的情况下运行npm链接,可能带有--only=production
标志?
答案 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限制。
.links.json
的文件。您像这样将每个程序包名称及其本地相对文件夹路径写入其中
{ “ @ shared / core”:“ ../../my-library-repo/packages/core” }
npm-local-development
。让它在后台运行。免责声明:我是这个免费的开源项目的作者。
答案 2 :(得分:0)
我使用的解决方法是 npm pack
然后指向示例中的打包文件