【问题标题】:npm install not compiling forked material-ui src into lib foldernpm install 没有将分叉的材料-ui src 编译到 lib 文件夹中
【发布时间】:2016-07-26 15:22:26
【问题描述】:

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

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

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

  1. 编辑该 URL,将 archive 替换为 tarball 并删除 .zip 扩展名。你应该最终得到类似

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

  1. 将其粘贴到您的 package.json 而不是版本中。像这样:

"express-jsend": "url/from/step/5"

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

"material-ui": "0.14.4"

所以我的问题:

为什么 npm 不编译 src 文件并将它们放入 lib 文件夹?

【问题讨论】:

    标签: git npm npm-install git-fork


    【解决方案1】:

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

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

    如果您想在 package.json 的依赖项部分中指向您的 github 分支的 material-ui,您可以创建一个包含 build 子目录内容的新仓库,并将您的 package.json 指向那个新的回购(麻烦)。像这样:

    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 ...
    

    指向自定义 github 存储库的替代方法是将作用域包发布到 npm(我从未这样做过)。或者如果你只做本地开发,你可以使用npm link 将你的包指向material-ui/build 子目录。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-25
      • 2020-09-28
      • 1970-01-01
      • 2020-07-30
      • 2017-06-17
      相关资源
      最近更新 更多