【问题标题】:npm install local package creates symbolic linksnpm install local package 创建符号链接
【发布时间】:2020-07-06 12:44:44
【问题描述】:

我在本地创建了一个自定义 node.js 包,并使用 npm 将它安装在另一个我想使用它的本地项目中。一切正常,但将其推送到远程 git 存储库/Web 服务器,我的应用程序找不到该包。此外,网络服务器上的包文件夹是空的,而每个文件都存在于我的本地 node_modules 目录中。我在本地使用的命令是:

npm install /local-system/htdocs/my-custom-local-package

显然,上面的命令创建了一个指向我的包的符号链接。这是 npm 的正常行为吗?如果是这样,如何复制包而不是创建符号链接?

【问题讨论】:

    标签: node.js npm


    【解决方案1】:

    有很棒的 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" ]
    

    【讨论】:

      【解决方案2】:

      我认为你应该在 npm install 之后使用 npm-copy。你检查 npm 文档吗?

      【讨论】:

        猜你喜欢
        • 2022-11-24
        • 2015-12-27
        • 1970-01-01
        • 1970-01-01
        • 2018-03-24
        • 2018-07-28
        • 1970-01-01
        • 1970-01-01
        • 2016-05-29
        相关资源
        最近更新 更多