[英]npm install local package creates symbolic links
我在本地創建了一個自定義 node.js 包,並使用 npm 將它安裝在另一個我想使用它的本地項目中。 一切正常,但將其推送到遠程 git 存儲庫/Web 服務器,我的應用程序找不到該包。 此外,網絡服務器上的包文件夾是空的,而每個文件都存在於我的本地 node_modules 目錄中。 我在本地使用的命令是:
npm install /local-system/htdocs/my-custom-local-package
顯然,上面的命令創建了一個指向我的包的符號鏈接。 這是 npm 的正常行為嗎? 如果是這樣,如何復制包而不是創建符號鏈接?
我認為你應該在 npm install 之后使用 npm-copy 。 你檢查 npm 文檔嗎?
有很棒的yalc可以幫助管理本地包。 它幫助我使用了我后來部署的本地庫。 只需使用 .yalc 目錄打包項目(帶或不帶 /node_modules)。 所以只需這樣做:
npm install -g yalc
in directory lib/$ yalc publish
在項目中:
project/$ yalc add lib
project/$ npm install
就是這樣。
當您想更新內容時:
lib/$ yalc push
project/$ npm install
使用 Docker 打包和部署
tar -czvf app.tar build/ .yalc/ src/ package.json package-lock.json
在Docker中:
FROM node:lts-alpine3.9
ADD app.tar /app
WORKDIR /app
RUN npm install
CMD [ "node", "src/index.js" ]
您可以嘗試使用--install-links
標志安裝軟件包,如npm docs所述:
注意:如果您想從注冊表安裝目錄的內容(如包)而不是創建鏈接,則需要使用 --install-links 選項。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.