来自 github 的 npm 包,缺少文件

Posted

技术标签:

【中文标题】来自 github 的 npm 包,缺少文件【英文标题】:npm package from github, missing files 【发布时间】:2016-07-27 10:54:04 【问题描述】:

我正在尝试从我的一个项目中引用logary-js(免责声明:我自己的项目)。

我有这个 packages.json 文件:

...
"dependencies": 
  "logary": "logary/logary-js#master",
  ...

...

但是,当尝试拉下包时,它会失败并出现以下错误:

✗ npm install

> logary@1.0.0 preinstall /Users/h/dev/proj/node_modules/.staging/logary-6603d70a
> npm run build


> logary@1.0.0 build /Users/h/dev/proj/node_modules/.staging/logary-6603d70a
> NODE_ENV=production webpack --progress --color --display-error-details --display-reasons --optimize-minimize

webpack 1.12.14
Usage: https://webpack.github.io/docs/cli.html

Options:
  --help, -h, -?
  --config
  --context
  --entry
  --module-bind
  --module-bind-post
  --module-bind-pre
  --output-path
  --output-file
  --output-chunk-file
  --output-named-chunk-file
  --output-source-map-file
  --output-public-path
  --output-jsonp-function
  --output-pathinfo
  --output-library
  --output-library-target
  --records-input-path
  --records-output-path
  --records-path
  --define
  --target
  --cache                                                                                           [default: true]
  --watch, -w
  --watch which closes when stdin ends
  --watch-aggregate-timeout
  --watch-poll
  --hot
  --debug
  --devtool
  --progress
  --resolve-alias
  --resolve-loader-alias
  --optimize-max-chunks
  --optimize-min-chunk-size
  --optimize-minimize
  --optimize-occurence-order
  --optimize-dedupe
  --prefetch
  --provide
  --labeled-modules
  --plugin
  --bail
  --profile
  -d                                    shortcut for --debug --devtool sourcemap --output-pathinfo
  -p                                    shortcut for --optimize-minimize
  --json, -j
  --colors, -c
  --sort-modules-by
  --sort-chunks-by
  --sort-assets-by
  --hide-modules
  --display-exclude
  --display-modules
  --display-chunks
  --display-error-details
  --display-origins
  --display-cached
  --display-cached-assets
  --display-reasons, --verbose, -v

Output filename not configured.

npm ERR! Darwin 14.5.0
npm ERR! argv "/Users/h/.nvm/versions/node/v5.6.0/bin/node" "/Users/h/.nvm/versions/node/v5.6.0/bin/npm" "run" "build"
npm ERR! node v5.6.0
npm ERR! npm  v3.6.0
npm ERR! code ELIFECYCLE
npm ERR! logary@1.0.0 build: `NODE_ENV=production webpack --progress --color --display-error-details --display-reasons --optimize-minimize`
npm ERR! Exit status 255
npm ERR!
npm ERR! Failed at the logary@1.0.0 build script 'NODE_ENV=production webpack --progress --color --display-error-details --display-reasons --optimize-minimize'.

如果目录中没有 webpack.config.js 文件,您会遇到什么错误。这让我相信 npm 只是拉下几个文件。 npm-debug.log 说:

89 verbose tar unpack /Users/h/.npm/logary/1.0.0/package.tgz
90 verbose tar unpacking to /Users/h/dev/proj/node_modules/.staging/logary-6603d70a
91 silly gentlyRm /Users/h/dev/proj/node_modules/.staging/logary-6603d70a is being purged
92 verbose gentlyRm don't care about contents; nuking /Users/h/dev/proj/node_modules/.staging/logary
-6603d70a
93 silly gunzTarPerm modes [ '770', '660' ]
94 silly gunzTarPerm extractEntry package.json
95 silly gunzTarPerm extractEntry README.md
96 silly gunzTarPerm extractEntry LICENSE
97 silly gentlyRm /Users/h/dev/proj/node_modules/.staging/logary-6603d70a/node_modules is being purg
ed
98 verbose gentlyRm don't care about contents; nuking /Users/h/dev/proj/node_modules/.staging/logary
-6603d70a/node_modules
99 silly doParallel preinstall 1
100 silly preinstall logary@1.0.0 /Users/h/dev/proj/node_modules/.staging/logary-6603d70a
101 info lifecycle logary@1.0.0~preinstall: logary@1.0.0

另外,在这个例子中 https://github.com/logary/logary-js/tree/master/examples/webpack 它引用日志就好了,尽管是通过文件系统而不是 github。

所以问题变成了;如何从 github 引用日志?或者我应该在其package.json 文件中更改什么以使其正常工作?

【问题讨论】:

您没有在 npm 中使用该版本是否有原因? 是的,它是我自己的库,我想在我自己的软件中保持它的前沿。 【参考方案1】:

您可以使用语法 npm install --save https://github.com/USER/REPO/tarball/BRANCH 从 GitHub 安装 Node 包。您也可以查看此answer,它对此有很好的提示。

【讨论】:

以上是关于来自 github 的 npm 包,缺少文件的主要内容,如果未能解决你的问题,请参考以下文章

从 Github 安装时自动构建 NPM 模块

来自 github repo 子文件夹的 npm 安装包

无法从 Heroku 上的 package.json 从 github 安装 npm 包

npm 安装,缺少 node_modules 文件夹

模块解析:NPM 安装来自 Github 的 Typescript 包

怎么安装npm?