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.
- 你安装 npm-local-development: npm i -g npm-local-development
- 您在根包中创建了名为
.links.json
的文件。
像这样将每个包名及其本地相对文件夹路径写入其中
{
"@shared/core": "../../my-library-repo/packages/core"
}
- 打开一个控制台,然后 运行
npm-local-development
在那个根包中。让它在后台运行。
免责声明:我是这个免费开源项目的作者。
我使用的解决方法是npm pack
然后指向示例中的打包文件
看来,当我 运行 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.
- 你安装 npm-local-development: npm i -g npm-local-development
- 您在根包中创建了名为
.links.json
的文件。 像这样将每个包名及其本地相对文件夹路径写入其中
{ "@shared/core": "../../my-library-repo/packages/core" }
- 打开一个控制台,然后 运行
npm-local-development
在那个根包中。让它在后台运行。
免责声明:我是这个免费开源项目的作者。
我使用的解决方法是npm pack
然后指向示例中的打包文件