Подтвердить что ты не робот

Как установить пакет с локальным путем по прямой? Он не смог найти пакет

В моем package.json я указываю локальный пакет my-custom-i18n по его относительному пути:

package.json

"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, где этот пакет не живет.

Вопрос

Есть ли какие-либо изменения в использовании пряжи с локальными пакетами? По локальным пакетам я подразумеваю пакеты, обозначенные относительным путем как my-custom-i18n.

4b9b3361

Ответ 1

Пряжа требует префикса file: для локальных пакетов.

Для относительного пути:

yarn add file:./../your-project

Для абсолютного пути

yarn add file:/dev/your-project

В вашем примере зависимость в package.json будет объявлена ​​следующим образом:

 "my-custom-i18n": "file:./../MyProject.Shared/myproject-i18n",

Это работает как для пряжи, так и для NPM.

Это несовместимость с клиентом NPM. Команда Jarn известна и объявлена ​​для поддержки этого поведения - ссылка на проблему GitHub.

Update:

Так как релиз v0.21.0, префикс file: не нужен. См. pull-request с исправлением и журнал изменений.