如何从本地文件夹更新npm包

big*_*zhu 7 github node.js npm

我从github克隆了一些npm包,并将包放在一个本地文件夹中,例如

c:\git\package
Run Code Online (Sandbox Code Playgroud)

我用"npm install -g"来安装软件包,效果非常好.

npm install -g c:\git\package
Run Code Online (Sandbox Code Playgroud)

但是,当我对包的代码做了一些更改时,例如签出了一些分支.我无法使用"npm update"来更新已安装的软件包.我试过了:

npm update -g
Run Code Online (Sandbox Code Playgroud)

npm update -g packagename
Run Code Online (Sandbox Code Playgroud)

要么

npm update -g folderpath
Run Code Online (Sandbox Code Playgroud)

都没有奏效.我必须使用"npm install"重新安装它以进行更新,这是浪费时间重新安装所有依赖项.

为什么npm只支持从文件夹安装但不支持从文件夹更新?如果确实支持,我该怎么办?谢谢.

jch*_*hes 10

npm install尝试npm link,而不是从本地目录,它创建一个全局安装的目录的符号链接.

文档中所述,这是一个两步过程:

  1. 在包目录中:

    $ npm link
    
    Run Code Online (Sandbox Code Playgroud)

    这将在npm的全局安装目录中创建当前文件夹的符号链接.

  2. 在其他地方,您想要使用该模块:

    $ npm link <pkgname>
    
    Run Code Online (Sandbox Code Playgroud)

    这将在项目的node_modules/文件夹中创建一个符号链接到全局安装.

  • 我们如何实现自动化?当新同事检查存储库时,他直接遇到异常,因为链接尚未创建......对吗?这对我们来说是不可接受的解决方案 ^^ 好吧,我尝试将其作为预安装脚本...... (2认同)