簡體   English   中英

npm install local package 創建符號鏈接

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM