如何不使用npm来安装node.js模块?


Answers:


73

您需要从github下载其源代码。查找主文件,然后将其包含在主文件中。

可以在这里找到一个示例> 如何手动安装node.js模块?

通常,您需要查找源并浏览package.json文件。在那里您可以找到哪个是主文件。这样您就可以将其包含在您的应用程序中。

在您的应用程序中包含example.js。将其复制到您的应用程序文件夹中,并将其附加在您的主要js文件顶部。

var moduleName = require("path/to/example.js")


1
是否可以从外部URL(例如var myscript = require("http://www.mywebsite.com/myscript.js"))导入脚本?该require函数似乎不适用于外部URL。
Anderson Green

2
require实际上是同步的,所以不,它不适用于外部URL。
克里斯·塔瓦雷斯

注意:您需要删除-master附加到github库的内容;如更改xxx-masterxxx
2016年

65

这些模块不能使用npm安装。

实际上,您可以通过指定本地路径而不是名称来安装模块。只要存储库具有有效package.json文件,它就可以正常工作。


键入npm -l和一个漂亮的帮助将如下所示:

CLI:

...
install     npm install <tarball file>
                npm install <tarball url>
                npm install <folder>
                npm install <pkg>
                npm install <pkg>@<tag>
                npm install <pkg>@<version>
                npm install <pkg>@<version range>

                Can specify one or more: npm install ./foo.tgz bar@stable /some/folder
                If no argument is supplied and ./npm-shrinkwrap.json is 
                present, installs dependencies specified in the shrinkwrap.
                Otherwise, installs dependencies from ./package.json.

引起我注意的是: npm install <folder>

就我而言,我在mrt模块方面遇到了麻烦,所以我做到了(在一个临时目录中)

  • 克隆仓库

     git clone https://github.com/oortcloud/meteorite.git
  • 我通过以下方式全局安装:

     npm install -g ./meteorite

小费:

也可以通过以下方式以相同的方式将仓库安装到本地npm项目中:

     npm install ../meteorite

如果需要开发中的补丁,也可以创建指向该仓库的链接:

     npm link ../meteorite

1
最优秀的 我也遇到了模块问题,所以我将其分叉并将其克隆到Web项目的同级目录中,将其所有依赖项更新为最新版本,然后使用'npm install ../将其安装到我的Web项目中。 broken_module_name就像一个魅力。谢谢!
佩里·图

+1,但如果我们没有npm的网络访问权限,并且安装的模块npm install <folder>具有无数其他npm依赖项,则该方法无效。
阿卜杜勒·劳夫

如果npm从全局范围(此处不确定)或本地范围中的包找到了node_modules中的包,它将不会尝试再次下载它。这意味着,如果可以预先下载仓库的所有直接依赖项并将其复制到node_module文件夹中,则它将起作用。
Tiberiu C.

11

将代码从github下载到node_modules目录中

var moduleName = require("<name of directory>")

应该这样做。

如果模块具有依赖性并且具有package.json,则打开模块并输入npm install。

希望这可以帮助


我认为如果主文件名为index.js
R3tep

8

您可以将模块直接克隆到本地项目中。

启动终端。进入您的项目,然后:

npm安装https://github.com/repo/npm_module.git --save


1
我一直在寻找答案。
Faisal Mq

更改软件包后会发生什么,如何更新到最新版本?ATM,我发现的唯一“解决方案”是从node_modules删除设备,删除package.json条目并重新添加,这很痛苦……
PredragStojadinović19年

1

一步步:

  • 让我们说你是工作的一个项目use-gulp,它使用(requireS)node_modules喜欢gulpgulp-util
  • 现在,您要对gulp-utillib 进行一些修改,并在您的use-gulp项目中对其进行本地测试...
  • gulp-util在github \ bitbucket等上分叉项目
  • 切换到您的项目: cd use-gulp/node_modules
  • 克隆gulp-utilgulp-util-devgit clone https://.../gulp-util.git gulp-util-dev
  • 运行npm install以确保的依赖项gulp-util-dev可用。
  • 现在您有了gulp-utilas 的镜像gulp-util-dev。在您的use-gulp项目中,您现在可以替换为:用require('gulp-util')...;调用:require('gulp-util-dev')以测试您对gulp-util-dev
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.