'npm install -g'到底做什么?

利亚姆·许

我想使用sinopia设置私有npm注册表,并执行了npm install -g sinopia,但是发生了一些错误消息:

> [email protected] install /usr/local/lib/node_modules/sinopia/node_modules/crypt3
> node-gyp rebuild

gyp WARN EACCES user "root" does not have permission to access the dev dir "/root/.node-gyp/4.2.3"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/usr/local/lib/node_modules/sinopia/node_modules/crypt3/.node-gyp"
make: Entering directory `/usr/local/lib/node_modules/sinopia/node_modules/crypt3/build'
  CXX(target) Release/obj.target/crypt3/crypt3.o
In file included from ../crypt3.cc:7:0:
../node_modules/nan/nan.h:261:25: error: redefinition of âtemplate<class T> v8::Local<T> _NanEnsureLocal(v8::Local<T>)â
 NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Local<T> val) {
                         ^
../node_modules/nan/nan.h:256:25: error: âtemplate<class T> v8::Local<T> _NanEnsureLocal(v8::Handle<T>)â previously declared here
 NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Handle<T> val) {
                         ^
../node_modules/nan/nan.h:661:13: error: ânode::smallocâ has not been declared
     , node::smalloc::FreeCallback callback
             ^

我可以看到.h与C或C ++相关文件;怎么会这样呢?在sinopia中发现的所有东西都是关于JavaScript的。

怎么npm install办?我认为,它仅应启动一些下载过程。

卢多维奇

npm install <package>npm install -g <package>

  1. 在node_modules文件夹中下载使用参数指定的npm软件包,或在package.json文件中以及其依赖项(从您定义的npm存储库主机)下载。(或使用它的现有本地副本。请参见shrink-wrapping

  2. 为自身和每个依赖项运行pre-installinstallpost-install脚本。查看生命周期脚本

  3. -g指令告诉npm将软件包安装在全局共享的node_modules文件夹中(通常在node所在的位置)。由于bin链接到PATH文件夹(通常为usr / local / bin),因此这也将允许您从命令行访问模块。检查此链接

对于sinopia,它们没有标准package.json文件,而具有package.yaml文件。检查yamp插件

如果您查看他们的预发布脚本,则该脚本包含

prepublish: js-yaml package.yaml > package.json

将其package.yaml转换为package.json。在他们的package.json中,他们对crypt3包有依赖性。

如果是crypt3(sinopia依赖项之一),请检查package.json它包含

  "scripts": {
    "test": "node test/test.js",
    "install": "node-gyp rebuild"
  },

因此,当安装了npm的sinopia时,它也会下载并安装所有依赖项。安装crypt3后,将运行“ node-gyp rebuild”,这就是为什么您在控制台中看到本机c / c ++编译输出的原因。

您可以自己尝试

npm install -g node-gyp && node-gyp rebuild

在控制台中

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

npm install -g是什么意思

来自分类Dev

npm install -g是什么意思

来自分类Dev

是什么引起npm install -g cordova ionic过时

来自分类Dev

“ npm install”命令中的-g标志的作用是什么?

来自分类Dev

npm install -g量角器错误

来自分类Dev

相当于npm install -g的Golang

来自分类Dev

关于“ npm install -g n”的错误

来自分类Dev

package.json与“ npm install%s -g”

来自分类Dev

每次都要运行sudo npm install -g

来自分类Dev

“ npm install -g @ angular / cli”安全吗?

来自分类Dev

npm install -g phonegap不起作用

来自分类Dev

package.json与“ npm install%s -g”

来自分类Dev

在Ubuntu 14.04上进行npm install -g

来自分类Dev

npm install --g gulp-挂起

来自分类Dev

是什么原因导致npm install -g cordova ionic过时

来自分类Dev

为什么我必须在npm install命令上放“ -g”?

来自分类Dev

sudo npm install -g npm和sudo apt-get install npm之间的区别

来自分类Dev

节点npm install -g找不到模块配置链

来自分类Dev

Windows中的npm install -g generator-X错误

来自分类Dev

npm install -g grunt-cli在Linux中失败

来自分类Dev

没有sudo不能更改npm install -g

来自分类Dev

AWS Amazon AMI上的npm install -g bower出现错误

来自分类Dev

npm install -g generator-jhipster Windows问题与python

来自分类Dev

NPM install -g cordova ionic给出Err -13

来自分类Dev

无法运行npm install -g expo-cli

来自分类Dev

无法使用npm install -g安装turtle-cli

来自分类Dev

npm install -g创建名为Password:Everytime的文件夹

来自分类Dev

模块未通过“ npm -g install ...”进行全局安装

来自分类Dev

npm install -g正在安装到本地文件夹