Meteor 中的 React-masonry-component
React-masonry-component in Meteor
我在使用 cosmos:browserify 在 Meteor 中安装 React-masonry-component 时遇到问题。错误消息表明找不到组件依赖项 masonry 的兼容版本(我相信在 npm 中)。相同的反应包似乎在使用 Webpack 的常规节点项目中工作,这就是为什么我认为这个问题是 Meteor 特定的。
这是我的 packages.json 文件。
{
"externalify": "0.1.0",
"react-router": "0.13.3",
"react-pixi": "0.6.1",
"radium": "0.13.4",
"griddle-react": "0.2.13",
"react-masonry-component": "1.0.1"
}
app.browserify.js
ReactRouter = require("react-router");
ReactPIXI = require("react-pixi");
Radium = require("radium");
Griddle = require("griddle-react");
Masonry = require("react-masonry-component");
构建过程中的错误消息
=> Modified -- restarting.
npm-container: updating npm dependencies -- externalify, react-router,
react-pixi, radium, griddle-react, masonry-layout, imagesloaded,
react-masonry-component...
npm ERR! Windows_NT 6.2.9200
npm ERR! argv
"C:\Users\Nick\AppData\Local\.meteor\packages\meteor-tool\1.1.4\mt- os.windows.x86_32\dev_bundle\bin\\node.exe"
"C:\Users\Nick\AppData\Local\.meteor\packages\meteor-tool\1.1.4\mt-os.windows.x86_32\dev_bundle\bin\node_modules\npm\bin\npm-cli.js"
"install" "react-masonry-component@1.0.1"
npm ERR! node v0.10.36
npm ERR! npm v2.7.3
npm ERR! code ETARGET
npm ERR! notarget No compatible version found:
masonry@'git+ssh://git@github.com/eiriklv/masonry.git'
**npm ERR! notarget Valid install targets:
npm ERR! notarget ["0.0.1","0.0.2"]
npm ERR! notarget
npm ERR! notarget This is most likely not a problem with npm itself.
npm ERR! notarget In most cases you or one of your dependencies are
requesting
npm ERR! notarget a package version that doesn't exist.
npm ERR! notarget
npm ERR! notarget It was specified as a dependency of
'react-masonry-component'
npm ERR! notarget
=> Errors prevented startup:
While building package npm-container:
error: couldn't install npm package
=> Your application has errors. Waiting for file change.
由于 Meteorhacks:npm 需要特定的 version/commit npm 或 github 模块,Meteor 构建过程未能包含此 React-Masonry-Component,其 package.json 定义了依赖项没有提到特定的提交。例如,
"dependency": {"masonry" = "eirik/masonry"}
为了避免这个问题,我分叉了 Eirik 的 npm 模块并发布了一个版本,该版本定义了它与特定 npm 版本或 github 提交的所有依赖关系。例如,
"dependency": {"masonry" = "https://github.com/eirik/masonry/archive/dd74b7c6fe58e9f5de56d2ab442ac4b2d0fa5dd1.tar.gz"}
有关此要求的更多详细信息,请参阅 https://github.com/meteorhacks/npm。
代码现在适用于以下设置:
packages.json
"react-masonry-component-4meteorhacks-npm": "0.0.13"
app.browserify.js
Masonry = require("react-masonry-component-4meteorhacks-npm")(React);
我在使用 cosmos:browserify 在 Meteor 中安装 React-masonry-component 时遇到问题。错误消息表明找不到组件依赖项 masonry 的兼容版本(我相信在 npm 中)。相同的反应包似乎在使用 Webpack 的常规节点项目中工作,这就是为什么我认为这个问题是 Meteor 特定的。
这是我的 packages.json 文件。
{
"externalify": "0.1.0",
"react-router": "0.13.3",
"react-pixi": "0.6.1",
"radium": "0.13.4",
"griddle-react": "0.2.13",
"react-masonry-component": "1.0.1"
}
app.browserify.js
ReactRouter = require("react-router");
ReactPIXI = require("react-pixi");
Radium = require("radium");
Griddle = require("griddle-react");
Masonry = require("react-masonry-component");
构建过程中的错误消息
=> Modified -- restarting.
npm-container: updating npm dependencies -- externalify, react-router,
react-pixi, radium, griddle-react, masonry-layout, imagesloaded,
react-masonry-component...
npm ERR! Windows_NT 6.2.9200
npm ERR! argv
"C:\Users\Nick\AppData\Local\.meteor\packages\meteor-tool\1.1.4\mt- os.windows.x86_32\dev_bundle\bin\\node.exe"
"C:\Users\Nick\AppData\Local\.meteor\packages\meteor-tool\1.1.4\mt-os.windows.x86_32\dev_bundle\bin\node_modules\npm\bin\npm-cli.js"
"install" "react-masonry-component@1.0.1"
npm ERR! node v0.10.36
npm ERR! npm v2.7.3
npm ERR! code ETARGET
npm ERR! notarget No compatible version found:
masonry@'git+ssh://git@github.com/eiriklv/masonry.git'
**npm ERR! notarget Valid install targets:
npm ERR! notarget ["0.0.1","0.0.2"]
npm ERR! notarget
npm ERR! notarget This is most likely not a problem with npm itself.
npm ERR! notarget In most cases you or one of your dependencies are
requesting
npm ERR! notarget a package version that doesn't exist.
npm ERR! notarget
npm ERR! notarget It was specified as a dependency of
'react-masonry-component'
npm ERR! notarget
=> Errors prevented startup:
While building package npm-container:
error: couldn't install npm package
=> Your application has errors. Waiting for file change.
由于 Meteorhacks:npm 需要特定的 version/commit npm 或 github 模块,Meteor 构建过程未能包含此 React-Masonry-Component,其 package.json 定义了依赖项没有提到特定的提交。例如,
"dependency": {"masonry" = "eirik/masonry"}
为了避免这个问题,我分叉了 Eirik 的 npm 模块并发布了一个版本,该版本定义了它与特定 npm 版本或 github 提交的所有依赖关系。例如,
"dependency": {"masonry" = "https://github.com/eirik/masonry/archive/dd74b7c6fe58e9f5de56d2ab442ac4b2d0fa5dd1.tar.gz"}
有关此要求的更多详细信息,请参阅 https://github.com/meteorhacks/npm。
代码现在适用于以下设置:
packages.json
"react-masonry-component-4meteorhacks-npm": "0.0.13"
app.browserify.js
Masonry = require("react-masonry-component-4meteorhacks-npm")(React);