npm install没有将forked material-ui src编译成lib文件夹

时间:2016-04-06 09:49:11

标签: git npm npm-install git-fork

我在我的应用中使用material-ui。我分解了材料ui并回滚到了以前的版本并在那里进行了一些更改,现在我想在我的项目中使用forked repo,所以我使用以下步骤从here安装模块:

  1. 转到fork's页面
  2. 转到commits
  3. 在您要使用的commit的右侧,点击Browse code
  4. 在浏览代码页上右键单击Download ZIP按钮(或您看到的任何内容)并复制。它应该是这样的
  5.   

    https://github.com/SoftwareMarbles/express-jsend/archive/fdd4089087d916fa6e3b5abaa1ff9dd9ea96df8d.zip

    1. 修改该网址,将archive替换为tarball并删除.zip扩展名。你应该最终得到像
    2. 这样的东西
        

      https://github.com/SoftwareMarbles/express-jsend/tarball/fdd4089087d916fa6e3b5abaa1ff9dd9ea96df8d

      1. 将其粘贴到package.json而不是版本中。像这样:
      2. "express-jsend": "url/from/step/5"

        npm install成功运行时没有出现任何错误,但它不会编译js中的src文件并将它们放在lib文件夹中,与运行npm install时相比较使用我的package.json中的以下代码

        "material-ui": "0.14.4"

        所以我的问题:

        为什么npm没有编译src文件并将它们放在lib文件夹中?

1 个答案:

答案 0 :(得分:1)

直接指向callemall/material-ui repo的fork的原因是该repo根目录中的包仅用于构建发布的material-ui包到npm。请注意,root package.json中的名称是" material-ui-build" - 不是" material-ui"。

通过在repo的根目录中运行npm run build来创建实际的material-ui包。这会将material-ui包写入repo根目录的build子目录。

如果要在package.json的依赖项部分中指向material-ui的github fork,可以创建一个包含build子目录内容的新repo并指向{{1} 1}}到那个新的回购(繁琐)。像这样:

package.json

指向自定义github repo的另一种方法是将一个范围包发布到npm(我从未这样做过)。或者,如果您只进行本地开发,可以使用git clone git@github.com:callemall/material-ui.git material-ui cd material-ui npm install npm run build cp -Tr build ../material-ui-package cd ../material-ui-package git init . git add . git commit -m ... 将包指向npm link子目录。