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
には問題があり、単にこのパッケージを見つけることができません。
$ 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
レジストリで表示されることがわかります。
ローカルパッケージでyarnを使用するための変更はありますか?ローカルパッケージとは、my-custom-i18n
として相対パスでポイントされるパッケージを意味します。
Yarnは、ローカルパッケージのプレフィックスfile:
を必要とします。
相対パスの場合:
yarn add file:./../your-project
絶対パス用
yarn add file:/dev/your-project
たとえば、package.json
の依存関係は次のように宣言されます。
"my-custom-i18n": "file:./../MyProject.Shared/myproject-i18n",
これはYarnとNPMの両方で機能します。
NPMクライアントとの非互換性があり、Yarnチームはこの動作をサポートすることを認識し、宣言しています- GitHubの問題に関するリファレンス 。
更新:
v0.21.0リリース以降、file:
プレフィックスは不要です。 pull-request with fix および changelog を参照してください。