"Can't find Python executable..." - npm 安装挂起
"Can't find Python executable..." - npm install hangs
我正在使用 "npm install" 下载和编译我编写的小型 node.js 应用程序的所有依赖项。我使用的 "package.json" 文件是正确的,包含所有需要的信息。
其中一个要安装的包有 "node-gyp" 作为依赖项,所以我之前安装了 "python2" 包。
现在,在某个时候我开始收到错误消息:
> node-gyp rebuild
gyp ERR! configure error
gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.
gyp ERR! stack at failNoPython (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:103:14)
gyp ERR! stack at /usr/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:42:11
gyp ERR! stack at F (/usr/lib/node_modules/npm/node_modules/which/which.js:40:25)
gyp ERR! stack at E (/usr/lib/node_modules/npm/node_modules/which/which.js:43:29)
gyp ERR! stack at /usr/lib/node_modules/npm/node_modules/which/which.js:54:16
gyp ERR! stack at FSReqWrap.oncomplete (fs.js:99:15)
gyp ERR! System Linux 3.18.9-200.fc21.x86_64
gyp ERR! command "node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /srv/visitor/node_modules/phantom/node_modules/dnode/node_modules/weak
gyp ERR! node -v v0.12.1
gyp ERR! node-gyp -v v1.0.3
gyp ERR! not ok
npm WARN optional dep failed, continuing weak@0.3.4
问题似乎是缺少环境变量。
任何人都可以指出我正确的方向吗?无论在网上哪里搜索,都没有提到"PYTHON"变量,只有"PYTHONPATH"之类的。解决此问题的正确方法是什么,这样我就不会收到这些错误?
更新 1:
听从这个帖子的建议后,我在执行之前添加了这些命令 "npm install":
PYTHON=/usr/sbin/python2
export PYTHON
现在我收到这个错误:
> node-gyp rebuild
gyp ERR! build error
gyp ERR! stack Error: not found: make
gyp ERR! stack at F (/usr/lib/node_modules/npm/node_modules/which/which.js:40:28)
gyp ERR! stack at E (/usr/lib/node_modules/npm/node_modules/which/which.js:43:29)
gyp ERR! stack at /usr/lib/node_modules/npm/node_modules/which/which.js:54:16
gyp ERR! stack at FSReqWrap.oncomplete (fs.js:99:15)
gyp ERR! System Linux 3.18.9-200.fc21.x86_64
gyp ERR! command "node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /srv/visitor/node_modules/phantom/node_modules/dnode/node_modules/weak
gyp ERR! node -v v0.12.1
gyp ERR! node-gyp -v v1.0.3
gyp ERR! not ok
npm WARN optional dep failed, continuing weak@0.3.4
我觉得它说“...未找到:make...”很荒谬。有没有可能是这样?如果是,包怎么安装正确?
老实说,我什么都不懂。有什么想法吗?
试试运行宁这个
PYTHON=$PYTHON:/usr/bin/python
export PYTHON
将此添加到配置文件(如 ~/.bash_profile
等,具体取决于您的 shell)以使其持久化。
如果您的 python 没有安装在 /usr/bin/python
中,那么您可以 运行 which python
找出它的安装位置。
第一件事:我要感谢所有帮助我解决问题的人,尤其是@adarsh。
现在真正的问题是我缺少 "make" 和 "gcc"。起初,当编译器消息这样建议时,我觉得这很荒谬。但请记住,这是从 Docker 注册表中提取的图像。
我在 Docker 文件中添加了 "pacman -S --needed --noconfirm make gcc",构建过程成功完成。
不用说,我还需要对环境变量进行建议的更改。
在CMD
如果在本地驱动器上: npm install express-generator
#npm install express-generator -g
#express --ejs .
选择是
#y
这对我有用..
node-gyp --python C:\Users\username\.windows-build-tools\python27\python.exe build
我们需要指向 python.exe 而不仅仅是安装文件夹。
我正在使用 "npm install" 下载和编译我编写的小型 node.js 应用程序的所有依赖项。我使用的 "package.json" 文件是正确的,包含所有需要的信息。
其中一个要安装的包有 "node-gyp" 作为依赖项,所以我之前安装了 "python2" 包。
现在,在某个时候我开始收到错误消息:
> node-gyp rebuild
gyp ERR! configure error
gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.
gyp ERR! stack at failNoPython (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:103:14)
gyp ERR! stack at /usr/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:42:11
gyp ERR! stack at F (/usr/lib/node_modules/npm/node_modules/which/which.js:40:25)
gyp ERR! stack at E (/usr/lib/node_modules/npm/node_modules/which/which.js:43:29)
gyp ERR! stack at /usr/lib/node_modules/npm/node_modules/which/which.js:54:16
gyp ERR! stack at FSReqWrap.oncomplete (fs.js:99:15)
gyp ERR! System Linux 3.18.9-200.fc21.x86_64
gyp ERR! command "node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /srv/visitor/node_modules/phantom/node_modules/dnode/node_modules/weak
gyp ERR! node -v v0.12.1
gyp ERR! node-gyp -v v1.0.3
gyp ERR! not ok
npm WARN optional dep failed, continuing weak@0.3.4
问题似乎是缺少环境变量。
任何人都可以指出我正确的方向吗?无论在网上哪里搜索,都没有提到"PYTHON"变量,只有"PYTHONPATH"之类的。解决此问题的正确方法是什么,这样我就不会收到这些错误?
更新 1:
听从这个帖子的建议后,我在执行之前添加了这些命令 "npm install":
PYTHON=/usr/sbin/python2
export PYTHON
现在我收到这个错误:
> node-gyp rebuild
gyp ERR! build error
gyp ERR! stack Error: not found: make
gyp ERR! stack at F (/usr/lib/node_modules/npm/node_modules/which/which.js:40:28)
gyp ERR! stack at E (/usr/lib/node_modules/npm/node_modules/which/which.js:43:29)
gyp ERR! stack at /usr/lib/node_modules/npm/node_modules/which/which.js:54:16
gyp ERR! stack at FSReqWrap.oncomplete (fs.js:99:15)
gyp ERR! System Linux 3.18.9-200.fc21.x86_64
gyp ERR! command "node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /srv/visitor/node_modules/phantom/node_modules/dnode/node_modules/weak
gyp ERR! node -v v0.12.1
gyp ERR! node-gyp -v v1.0.3
gyp ERR! not ok
npm WARN optional dep failed, continuing weak@0.3.4
我觉得它说“...未找到:make...”很荒谬。有没有可能是这样?如果是,包怎么安装正确?
老实说,我什么都不懂。有什么想法吗?
试试运行宁这个
PYTHON=$PYTHON:/usr/bin/python
export PYTHON
将此添加到配置文件(如 ~/.bash_profile
等,具体取决于您的 shell)以使其持久化。
如果您的 python 没有安装在 /usr/bin/python
中,那么您可以 运行 which python
找出它的安装位置。
第一件事:我要感谢所有帮助我解决问题的人,尤其是@adarsh。
现在真正的问题是我缺少 "make" 和 "gcc"。起初,当编译器消息这样建议时,我觉得这很荒谬。但请记住,这是从 Docker 注册表中提取的图像。
我在 Docker 文件中添加了 "pacman -S --needed --noconfirm make gcc",构建过程成功完成。
不用说,我还需要对环境变量进行建议的更改。
在CMD
如果在本地驱动器上: npm install express-generator
#npm install express-generator -g
#express --ejs .
选择是
#y
这对我有用..
node-gyp --python C:\Users\username\.windows-build-tools\python27\python.exe build
我们需要指向 python.exe 而不仅仅是安装文件夹。