npm http 200 https://registry.npmjs.org/weak/-/weak-0.2.2.tgz
npm http GET https://registry.npmjs.org/bindings
npm http 304 https://registry.npmjs.org/bindings
> weak@0.2.2 install node_modules/weak
> node-gyp rebuild
Traceback (most recent call last):
File "/usr/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py", line 18, in <module>
sys.exit(gyp.script_main())
AttributeError: 'module' object has no attribute 'script_main'
gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack at ChildProcess.onCpExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:337:16)
gyp ERR! stack at ChildProcess.EventEmitter.emit (events.js:98:17)
gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:789:12)
gyp ERR! System Linux 3.11.0-15-generic
gyp ERR! command "node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! node -v v0.10.15
gyp ERR! node-gyp -v v0.12.1
gyp ERR! not ok
npm ERR! weak@0.2.2 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the weak@0.2.2 install script.
npm ERR! This is most likely a problem with the weak package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node-gyp rebuild
npm ERR! You can get their info via:
npm ERR! npm owner ls weak
npm ERR! There is likely additional logging output above.
npm ERR! System Linux 3.11.0-15-generic
npm ERR! command "node" "/usr/bin/npm" "install" "weak@0.2.2"
npm ERR! node -v v0.10.15
npm ERR! npm -v 1.3.23
npm ERR! code ELIFECYCLE
npm ERR! not ok code 0
我没有对weak或node-gyp的直接依赖,但我想我的其他依赖项(express,phantom,ejs,aws-sdk,moment)需要它。任何人都遇到过这样的问题并且能够修复?
答案 0 :(得分:33)
如果你的python版本不是错误的来源,请检查你是否有&#34; gyp&#34;安装。这与node-gyp中的gyp版本相冲突。
apt-get remove gyp
https://github.com/TooTallNate/node-gyp/issues/363#issuecomment-32234646
答案 1 :(得分:23)
这是有效的。在安装过程中需要python 2.6。
#!/bin/bash
#On Ubuntu Saucy:
sudo add-apt-repository ppa:fkrull/deadsnakes
sudo apt-get update
sudo apt-get install python2.6
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.6 20
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 10
#you can switch between 2.6 & 2.7 using:
sudo update-alternatives --config python
#Btw I installed node using ppa:chris-lea/node.js
答案 2 :(得分:21)
此命令sudo apt-get install build-essential
在我的案例中有所帮助。
答案 3 :(得分:16)
FWIW,我在尝试在Ubuntu 14.04(DigitalOcean)上安装Protractor时遇到了类似的问题。重新安装node-gyp修复了它:
apt-get install node-gyp
答案 4 :(得分:3)
在尝试安装维基媒体扩展数学类时,我在Ubuntu 16.04上遇到了这个问题。
我尝试了所有建议但没有任何效果,直到我做到了:
sudo apt-get install librsvg2-2 librsvg2-dev
答案 5 :(得分:3)
在Ubuntu 18上,我必须安装必需的构建库才能使其运行
sudo apt-get install build-essential
答案 6 :(得分:2)
在Ubuntu 10.04上,安装libicu解决了我的问题。
sudo apt-get install libicu-dev
答案 7 :(得分:1)
在Fedora 20上,重新安装gyp为我修复了这个问题。
sudo yum reinstall gyp
答案 8 :(得分:1)
以下是在Ubuntu系统上成功安装node-gyp的步骤:
1。首先,使用以下命令在Ubuntu中安装“ make”构建工具:
sudo apt-get update && \
sudo apt-get install build-essential software-properties-common -y;
2。然后,您需要安装适当的C / C ++编译器工具链。我们将使用以下命令在此处安装GCC:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y && \
sudo apt-get update && \
sudo apt-get install gcc-snapshot -y && \
sudo apt-get update && \
sudo apt-get install gcc-6 g++-6 -y && \
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 60 --slave
/usr/bin/g++ g++ /usr/bin/g++-6 && \
sudo apt-get install gcc-4.8 g++-4.8 -y && \
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 60 --slave
/usr/bin/g++ g++ /usr/bin/g++-4.8;
3。安装python 2.7版本。 (注意:node-gyp不支持Python 3。)
sudo apt update
sudo apt upgrade
sudo apt install python2.7 python-pip
4。最后安装node-gyp npm软件包:
npm install -g node-gyp
其他但不重要的:如果您在node-gyp上遇到任何与原子键盘布局有关的问题,请再安装以下软件包:
sudo apt-get install libxkbfile-dev
仅此而已!现在应该可以正常工作了。
答案 9 :(得分:0)
在我的情况下,由于某些原因,无法在运行时gcc ++上在Linux-mint 19.2上失败。 因此,通过安装build-essentials错误得以解决。 PS:
build-essential软件包是编译Debian软件包所需的所有软件包的参考。它通常包括GCC / g ++编译器和库以及其他一些实用程序。可以在build-essentials
上找到有关构建基本软件包列表的信息。答案 10 :(得分:0)
如果错误是由于“致命错误:dns_sd.h:没有此类文件或目录
32 | #include
“ sudo apt-get install libavahi-compat-libdnssd-dev”,否则是由于python2 @Manish Jangir方法
答案 11 :(得分:-1)
我已经安装了build-essential
。我只需要跑:
sudo apt install python