Yarn 本地包依赖
Yarn local packages dependencies
我有以下文件夹结构:
~ (user home folder)
- api
...
- package.json
- lib
- libA
...
package.json
- libB
...
package.json
在libA/package.json
中我有以下本地依赖
"dependencies": {
"libB": "../libB",
},
所以 libA 依赖于 libB。
现在我想在 api
项目中添加为本地包 libA
。我执行 cd api && yarn add ../lib/libA
并收到以下错误 /Users/a_user/libB doesn't exist
。我知道 yarn 被视为当前主管 ~/api
所以在读取 libA
的依赖项时它会看到 ../libB
并将其翻译为 ~/libB
而不是 ~/lib/libB
有没有不用绝对路径实现的方法?
是的,有,使用 yarn link。 Yarn link 允许你创建 symlinks 到本地项目。
转到文件夹 libB
和 运行:
yarn link
然后转到文件夹 libA
和 运行:
yarn link libB
注意:libB
必须是 libB
文件夹 package.json
上的名称
然后您可以像往常一样要求您的 libB
代码:
const libB = require('libB')
我有以下文件夹结构:
~ (user home folder)
- api
...
- package.json
- lib
- libA
...
package.json
- libB
...
package.json
在libA/package.json
中我有以下本地依赖
"dependencies": {
"libB": "../libB",
},
所以 libA 依赖于 libB。
现在我想在 api
项目中添加为本地包 libA
。我执行 cd api && yarn add ../lib/libA
并收到以下错误 /Users/a_user/libB doesn't exist
。我知道 yarn 被视为当前主管 ~/api
所以在读取 libA
的依赖项时它会看到 ../libB
并将其翻译为 ~/libB
而不是 ~/lib/libB
有没有不用绝对路径实现的方法?
是的,有,使用 yarn link。 Yarn link 允许你创建 symlinks 到本地项目。
转到文件夹 libB
和 运行:
yarn link
然后转到文件夹 libA
和 运行:
yarn link libB
注意:libB
必须是 libB
文件夹 package.json
上的名称
然后您可以像往常一样要求您的 libB
代码:
const libB = require('libB')