2015-03-31 27 views
8

Tôi đang sử dụng "npm install" để tải xuống và biên dịch tất cả các phụ thuộc của một ứng dụng node.js nhỏ mà tôi đã viết. Tệp "package.json" mà tôi đang sử dụng là đúng và chứa tất cả thông tin cần thiết."Không thể tìm thấy Python thực thi ..." - npm install treo

Một trong các gói được cài đặt có "nút-gyp" làm phụ thuộc, vì vậy trước đây tôi đã cài đặt gói "python2".

Bây giờ, tại một thời điểm nào đó tôi bắt đầu nhận được thông báo lỗi:

> 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 [email protected] 

Những vấn đề dường như là một biến môi trường là mất tích.

Có ai có thể chỉ cho tôi đúng hướng không? Không có vấn đề mà tôi tìm kiếm trên Internet, không có đề cập đến một biến "PYTHON", chỉ "PYTHONPATH" và những người khác thích nó. Cách chính xác để sửa lỗi này là gì, để tôi không gặp phải lỗi đó?

UPDATE 1:

Sau khi làm theo lời khuyên từ chủ đề này tôi đã thêm các lệnh này trước khi thực hiện "NPM cài đặt":

PYTHON=/usr/sbin/python2 
export PYTHON 

Bây giờ tôi nhận được lỗi này:

> 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 [email protected] 

Tôi thấy nó vô lý rằng nó nói "... không tìm thấy: làm ...". Có khả năng nào là như vậy không? Nếu có, làm thế nào đến các gói cài đặt chính xác?

Thành thật mà nói, tôi không hiểu một điều gì. Bất kỳ ý tưởng?

+0

Bạn cần đặt biến môi trường 'PYTHON'. Những gì có trong biến đó sẽ được sử dụng. Không quan trọng 'PYTHONPATH' là gì. – adarsh

+0

@adarsh ​​Điều đó tôi có thể nói. Bạn có thể vui lòng xây dựng? Nếu bạn đưa ra câu trả lời, tôi sẽ upvote. – dsljanus

+0

bạn đang sử dụng hệ điều hành nào? làm thế nào bạn cài đặt python2? thử thực hiện nó trong dòng lệnh đầu tiên – irqed

Trả lời

2

Điều đầu tiên trước tiên: Tôi muốn cảm ơn tất cả những người đã thuyết phục để giúp tôi giải quyết vấn đề của tôi và đặc biệt là @adarsh.

Bây giờ vấn đề thực sự là tôi đã bỏ lỡ "make" và "gcc". Lúc đầu, khi một thông điệp trình biên dịch gợi ý như vậy, tôi thấy nó vô lý. Nhưng hãy nhớ rằng đây là một hình ảnh được PULL từ registry Docker.

Tôi đã thêm "pacman -S --needed --noconfirm make gcc" vào Dockerfile của tôi và quá trình xây dựng hoàn tất thành công.

Không cần phải nói, tôi cũng cần thực hiện các thay đổi được đề xuất cho các biến môi trường.

+0

Nơi chúng tôi cần thêm dòng: pacman -S --needed --noconfirm make gcc – iamnewuser

4

Thử chạy này

PYTHON=$PYTHON:/usr/bin/python 
export PYTHON 

Thêm phần này vào hồ sơ tập tin (như ~/.bash_profile vv tùy thuộc vào shell của bạn) để làm cho nó dai dẳng.

Nếu python của bạn không được cài đặt trong /usr/bin/python thì bạn có thể chạy which python để tìm hiểu vị trí cài đặt.

+0

Sẽ cố gắng và báo cáo lại CÀNG SỚM CÀNG TỐT. – dsljanus

+0

Nó không hoạt động. Nó tạo ra lỗi này: "/ bin/sh: line 0: export:':/usr/bin/python ': không phải là số nhận dạng hợp lệ ". Ngoài ra, khi chạy "mà python", nó nói rằng không có "python" có thể được tìm thấy bên trong đường dẫn. – dsljanus

+1

Xin lỗi, tôi đã phạm sai lầm trong dòng thứ hai. Sử dụng 'xuất PYTHON'. Ký hiệu $ không nên được sử dụng. Tôi sẽ sửa câu trả lời – adarsh

-3

Trong CMD

nếu địa phương trên ổ:npm install express-generator

#npm install express-generator -g 
#express --ejs . 

chọn có

#y 
1

này đã làm việc cho tôi ..

01.
node-gyp --python C:\Users\username\.windows-build-tools\python27\python.exe build 

Chúng tôi cần trỏ đến python.exe không chỉ đến thư mục cài đặt.

Các vấn đề liên quan