在我中,package.json我my-custom-i18n通过其相对路径指向本地包:
package.json
my-custom-i18n
"dependencies": { "core-js": "^2.4.1", "my-custom-i18n": "./../MyProject.Shared/myproject-i18n", "rxjs": "5.0.0-beta.12", ... }
npm install正确安装软件包,但是yarn有问题,根本找不到此软件包:
npm install
yarn
$ yarn yarn install v0.15.1 info No lockfile found. [1/4] Resolving packages... error Couldn't find package "myproject-i18n" on the "npm" registry. info Visit http://yarnpkg.com/en/docs/cli/install for documentation about this command.
我看到它看起来在npm注册表中,该程序包不存在。
npm
使用本地包装的纱线有什么变化吗?本地包是指相对路径指向的包my-custom-i18n。
纱线需要file:本地包的前缀。
file:
对于相对路径:
yarn add file:./../your-project
对于绝对路径
yarn add file:/dev/your-project
对于您的示例,in的依赖关系package.json将声明如下:
"my-custom-i18n": "file:./../MyProject.Shared/myproject-i18n",
这也适用于Yarn和NPM。
它与NPM客户端不兼容,Yarn团队意识到并宣布支持此行为- 有关GitHub问题的参考。
更新:
从 v0.21.0 版本开始,file:不需要前缀。请参阅带有fix和changelog的pull- request。