วิธีการติดตั้งแพคเกจด้วย local path by Yarn? ไม่พบแพ็คเกจ


106

ในของ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โดยแพคเกจท้องถิ่นฉันแพคเกจค่าเฉลี่ยชี้โดยเส้นทางญาติ

คำตอบ:


204

เส้นด้ายต้องการคำนำหน้า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 ทีมเส้นด้ายตระหนักและประกาศให้การสนับสนุนการทำงานนี้ - การอ้างอิงเกี่ยวกับปัญหา GitHub

อัปเดต:

ตั้งแต่รุ่นv0.21.0file:ไม่จำเป็นต้องใช้คำนำหน้า ดูดึงคำขอกับการแก้ไขและการเปลี่ยนแปลง


1
ขอบคุณทำงานเหมือนมีเสน่ห์ แต่ถ้าตอนนี้มันเข้ากันไม่ได้กับไคลเอนต์ npm - ฉันจะออกไปnpmเหมือนเดิม :) ป.ล. ความคิดของฉันคือใช้yarnเฉพาะในเครื่องโดยไม่แปลงทั้งทีมและโครงการ ดังนั้น .. ฉันต้องรอจนกว่าจะได้รับการสนับสนุนสำหรับสิ่งนี้ :)
michalczukm

3
อย่าลืมล้างแคชของคุณ เป็นเส้นด้ายให้ลองใช้เวอร์ชันแคชก่อนเสมอ
Bo Chen

5
+1 สำหรับการอัปเดต! การลบfile:คำนำหน้าช่วยแก้ปัญหาที่เราพบโดยที่yarn installบน windows จะเพิ่ม./คำนำหน้าไปยังเส้นทางไฟล์ที่สัมพันธ์กัน แต่yarn installบน macOS จะลบออก
Magne

เส้นทางที่แน่นอนไม่ได้ผลสำหรับฉัน มันจะใช้งานได้สำหรับการติดตั้ง แต่แล้วการแยกจะล้มเหลวเนื่องจากมันกำลังมองหาเส้นทางสัมพัทธ์ แต่ yarn.lock มีเส้นทางที่แน่นอน
pixelearth

1
ดูเหมือนว่าด้วยเส้นด้ายคำนำหน้ายังคงเป็นสิ่งที่จำเป็นในสถานการณ์ต่อไปนี้: สมมติว่าคุณมีแพคเกจที่มีการพึ่งพาท้องถิ่น หากแพ็กเกจอื่นกำลังใช้แพ็กเกจแพ็กเกจจะพยายามแก้ไขที่สัมพันธ์กับไดเร็กทอรีแทนที่จะสัมพันธ์กับไดเร็กทอรี หลังจากเปลี่ยนการอ้างอิงกับปัญหาได้รับการแก้ไขแล้ว 1.17.3file:bar./dependencies/xyzfoobar./dependencies/xyzfoobarfile:./dependencies/xyz
David Callanan
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.