从git url依赖项找不到模块

时间:2016-12-23 21:08:32

标签: node.js meteor webpack open-source

我已经分叉react-flexbox-grid来添加对隐藏列的支持(这是我第一次贡献)但是我无法在我的项目中包含该包。

根据Docs: Git Urls as Dependencies,我将以下内容放入package.json:

    "react-flexbox-grid": "falieson/react-flexbox-grid#hidden-columns",

运行npm i之后,我看到npm已经获取并且没有安装包的错误。

  

├──coal-dom@15.4.1   ├──reaction-flexbox-grid@0.10.2(git://github.com/falieson/react-flexbox-grid.git#f8e9e9053430b619f4c7fd79b90ccd4f44d6a05c)   ├──reaction-fontawesome@1.5.0

但是当我启动服务器流星时:webpack抱怨:

  错误在./imports/ui/Home/index.jsx中   找不到模块:错误:无法在/ Users / falieson / Code / planetx-boilerplate / imports / ui / Home中解析模块'react-flexbox-grid'

我没有改变index.jsx上的任何内容

import {Grid, Row, Col} from 'react-flexbox-grid';

这是我的meteor webpack config

{
 "css": {
   "module": true
 },
 "module": {
   "loaders": [
     {
       "test": "/\\.css$/",
       "loader": "style!css?modules",
       "include": "/flexboxgrid/"
     }
   ]
 }
}

3 个答案:

答案 0 :(得分:1)

问题是这个repo需要构建,package.json引用./lib/index.js文件,但它在repo中不存在(只有src文件夹)。

您可以使用以下方式构建它:

npm run compile

并强制添加并将./lib文件夹推送到您的git仓库。

答案 1 :(得分:1)

  1. 确保已编译的文件在提交中。
  2. 确保已更新git ignore以不忽略编译的文件。
  3. npm rm -rf ./node_modules/xxxx(如果已安装模块)
  4. npm install --save-dev https://gitlab.com/m_farhan/xxxxx.git#master
  5. 确保将代码推送到仓库之前先构建代码。
  6. npm xxxxx更新您的项目。

答案 2 :(得分:0)

不应该是这样的:

"react-flexbox-grid": "falieson/react-flexbox-grid#hidden-columns",

在package.json中没有git

通常我会说它可能是一个私有模块,你可以安装,因为你有权这样做,但在其他环境中它无法访问,因为如果你没有权限,GitHub给私人回购404访问它们。或者你可能没有一个名为“hidden-columns”的分支或rag,但是这里似乎你有那个分支,并且模块是公共的,所以这不是问题。