ใช้ Python บน Windows สำหรับการอ้างอิง Node.js


226

ฉันกำลังเข้าสู่ codeode ของ Node.js ซึ่งต้องการให้ฉันดาวน์โหลดการอ้างอิงสองสามทางผ่าน NPM คือ jQuery

ในการพยายามเรียกใช้npm install jqueryฉันได้รับข้อผิดพลาดนี้:

Your environment has been set up for using Node.js 0.8.21 (x64) and NPM

C:\Users\Matt Cashatt>npm install jquery
npm http GET https://registry.npmjs.org/jquery
npm http 304 https://registry.npmjs.org/jquery
npm http GET https://registry.npmjs.org/jsdom
npm http GET https://registry.npmjs.org/xmlhttprequest
npm http GET https://registry.npmjs.org/htmlparser/1.7.6
npm http GET https://registry.npmjs.org/location/0.0.1
npm http GET https://registry.npmjs.org/navigator
npm http GET https://registry.npmjs.org/contextify
npm http 304 https://registry.npmjs.org/htmlparser/1.7.6
npm http 304 https://registry.npmjs.org/xmlhttprequest
npm http 304 https://registry.npmjs.org/location/0.0.1
npm http 304 https://registry.npmjs.org/navigator
npm http 304 https://registry.npmjs.org/jsdom
npm http 304 https://registry.npmjs.org/contextify
npm http GET https://registry.npmjs.org/bindings
npm http GET https://registry.npmjs.org/cssom
npm http GET https://registry.npmjs.org/cssstyle
npm http GET https://registry.npmjs.org/request
npm http 304 https://registry.npmjs.org/bindings

> contextify@0.1.4 install C:\Users\Matt Cashatt\node_modules\jquery\node_module
s\contextify
> node-gyp rebuild


C:\Users\Matt Cashatt\node_modules\jquery\node_modules\contextify>node "C:\Progr
am Files\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\b
in\node-gyp.js" rebuild
npm http 304 https://registry.npmjs.org/cssstyle
npm http 304 https://registry.npmjs.org/cssom
npm http 304 https://registry.npmjs.org/request
gyp ERR! configure error
gyp ERR! stack Error: Can't find Python executable "python", you can set the PYT
HON env variable.
gyp ERR! stack     at failNoPython (C:\Program Files\nodejs\node_modules\npm\nod
e_modules\node-gyp\lib\configure.js:113:14)
gyp ERR! stack     at C:\Program Files\nodejs\node_modules\npm\node_modules\node
-gyp\lib\configure.js:82:11
gyp ERR! stack     at Object.oncomplete (fs.js:297:15)
gyp ERR! System Windows_NT 6.1.7601
gyp ERR! command "node" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modu
les\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Users\Matt Cashatt\node_modules\jquery\node_modules\contextify
gyp ERR! node -v v0.8.21
gyp ERR! node-gyp -v v0.8.4
gyp ERR! not ok
npm ERR! error rolling back Error: ENOTEMPTY, rmdir 'C:\Users\Matt Cashatt\node_
modules\jquery\node_modules\jsdom\node_modules\request\tests'
npm ERR! error rolling back  jquery@1.8.3 { [Error: ENOTEMPTY, rmdir 'C:\Users\M
att Cashatt\node_modules\jquery\node_modules\jsdom\node_modules\request\tests']
npm ERR! error rolling back   errno: 53,
npm ERR! error rolling back   code: 'ENOTEMPTY',
npm ERR! error rolling back   path: 'C:\\Users\\Matt Cashatt\\node_modules\\jque
ry\\node_modules\\jsdom\\node_modules\\request\\tests' }
npm ERR! contextify@0.1.4 install: `node-gyp rebuild`
npm ERR! `cmd "/c" "node-gyp rebuild"` failed with 1
npm ERR!
npm ERR! Failed at the contextify@0.1.4 install script.
npm ERR! This is most likely a problem with the contextify 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 contextify
npm ERR! There is likely additional logging output above.

npm ERR! System Windows_NT 6.1.7601
npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nod
ejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "jquery"
npm ERR! cwd C:\Users\Matt Cashatt
npm ERR! node -v v0.8.21
npm ERR! npm -v 1.2.11
npm ERR! code ELIFECYCLE
npm ERR! Error: ENOENT, lstat 'C:\Users\Matt Cashatt\node_modules\jquery\node_mo
dules\jsdom\node_modules\request\tests\test-pipes.js'
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <npm-@googlegroups.com>

npm ERR! System Windows_NT 6.1.7601
npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nod
ejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "jquery"
npm ERR! cwd C:\Users\Matt Cashatt
npm ERR! node -v v0.8.21
npm ERR! npm -v 1.2.11
npm ERR! path C:\Users\Matt Cashatt\node_modules\jquery\node_modules\jsdom\node_
modules\request\tests\test-pipes.js
npm ERR! fstream_path C:\Users\Matt Cashatt\node_modules\jquery\node_modules\jsd
om\node_modules\request\tests\test-pipes.js
npm ERR! fstream_type File
npm ERR! fstream_class FileWriter
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR! fstream_stack C:\Program Files\nodejs\node_modules\npm\node_modules\fst
ream\lib\writer.js:284:26
npm ERR! fstream_stack Object.oncomplete (fs.js:297:15)
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     C:\Users\Matt Cashatt\npm-debug.log
npm ERR! not ok code 0

C:\Users\Matt Cashatt>

ดูเหมือนว่าความล้มเหลวเกิดจากการติดตั้ง Python ขาดหายไป ฉันได้ติดตั้ง Python ตั้งค่าตัวแปรและรีบูตและยังคงมีข้อผิดพลาด

เบาะแสใด ๆ กับสิ่งที่ฉันหายไป?


1
คุณสามารถวางข้อความเป็นข้อความแทนที่จะเป็นรูปภาพได้หรือไม่? นอกเหนือจากการอ่านยาก (โดยเฉพาะเมื่อเห็นได้ชัดว่าลดขนาดฟอนต์บิตแมปที่มีความละเอียดต่ำแล้ว) จึงไม่สามารถคัดลอกได้
abarnert

1
สำคัญกว่า: คุณตั้งค่าตัวแปรสภาพแวดล้อมก่อนที่จะทำการรีบูตอย่างไร? หากคุณเพิ่งทำPYTHON=C:\Python27\Python.exeในหน้าต่างคำสั่งและรีบูตการตั้งค่าก็หายไป
abarnert

7
นอกจากนี้คุณติดตั้งเวอร์ชัน Python เวอร์ชั่นใด อย่างน้อยรุ่นเก่าของ waf และ gyp ต้องการ 2.x แต่ไม่ได้พูดอะไรเกี่ยวกับมันและจะให้ข้อผิดพลาดลึกลับทุกชนิดหากคุณติดตั้ง 3.x แทน
abarnert

ขอบคุณสำหรับความคิดเห็นของคุณ ฉันโพสต์ข้อผิดพลาดในรูปแบบข้อความ ฉันใช้ v2.7
Matt Cashatt

ตกลง แต่โปรดตอบคำถาม "สำคัญกว่า" เพราะนั่นคือตามที่สื่อความหมายสำคัญ คุณอาจต้องการทดสอบสิ่งนี้ด้วยตนเอง: ในcmd.exeหน้าต่างก่อนที่จะลองใช้npmคำสั่งทำอย่างใดอย่างหนึ่งpythonหรือ%PYTHON%เริ่มล่าม Python? ถ้าไม่คุณยังไม่ได้ตั้งค่า
abarnert

คำตอบ:


132

ปัญหาของคุณคือคุณไม่ได้ตั้งค่าตัวแปรสภาพแวดล้อม

ข้อผิดพลาดนี้บอกชัดเจนว่า:

gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.

และในความคิดเห็นของคุณคุณบอกว่าคุณทำสิ่งนี้:

set PYTHONPATH=%PYTHONPATH%;C:\My_python_lib

เยี่ยมมาก แต่นั่นไม่ได้ตั้งค่าPYTHONตัวแปรมันตั้งค่าPYTHONPATHตัวแปร


ในขณะเดียวกันการใช้setคำสั่งจะมีผลกับcmdเซสชันปัจจุบันเท่านั้น หากคุณรีบูตหลังจากนั้นอย่างที่คุณบอกคุณทำไปคุณจะจบด้วยcmdเซสชันใหม่ทั้งหมดที่ไม่มีตัวแปรนั้นตั้งอยู่

มีสองสามวิธีในการตั้งค่าตัวแปรสภาพแวดล้อมอย่างถาวรวิธีที่ง่ายที่สุดคือในแผงควบคุมระบบใน XP ซึ่งแน่นอนว่าแตกต่างกันใน Vista แตกต่างกันอีกครั้งใน 7 และแตกต่างอีกครั้งใน 8 แต่คุณสามารถใช้ Google ได้

หรือเพียงแค่ทำสิ่งที่setถูกต้องตรงหน้าnpmคำสั่งโดยไม่ต้องบูตเครื่องใหม่ระหว่างนั้น


คุณสามารถทดสอบว่าคุณได้ทำสิ่งที่ถูกต้องด้วยการทำสิ่งเดียวที่แน่นอนสคริปต์การกำหนดค่าจะพยายามที่จะทำก่อนที่จะใช้ลองใช้npm %PYTHON%หากคุณทำถูกต้องคุณจะได้รับล่าม Python (ซึ่งคุณสามารถออกได้ทันที) หากคุณได้รับข้อผิดพลาดคุณไม่ได้ทำถูกต้อง


มีสองปัญหากับสิ่งนี้:

set PYTHON=%PYTHON%;D:\Python

ครั้งแรกที่คุณกำลังตั้งไปPYTHON ;D:\Pythonนั่นอัฒภาคเสริมที่ดีสำหรับรายการอัฒภาคแยกของเส้นทางเช่นPATHหรือแต่ไม่ได้สำหรับค่าเดียวเช่นPYTHONPATH PYTHONและเช่นเดียวกันการเพิ่มค่าใหม่ให้กับค่าที่มีอยู่คือสิ่งที่คุณต้องการเมื่อคุณต้องการเพิ่มอีกพา ธ ในรายการของพา ธ แต่ไม่ใช่สำหรับค่าเดียว set PYTHON=D:\Pythonดังนั้นคุณเพียงต้องการ

ที่สองD:\Pythonไม่ใช่เส้นทางไปยังล่าม Python ของคุณ มันเป็นสิ่งที่ต้องการหรือD:\Python\Python.exe D:\Python\bin\Python.exeค้นหาเส้นทางที่ถูกต้องตรวจสอบให้แน่ใจว่ามันทำงานได้ด้วยตัวมันเอง (เช่นพิมพ์D:\Python\bin\Python.exeและตรวจสอบให้แน่ใจว่าคุณได้รับ Python interpreter) จากนั้นตั้งค่าตัวแปรและใช้งาน


ดังนั้น:

set PYTHON=D:\Python\bin\Python.exe

หรือถ้าคุณต้องการทำให้มันถาวรให้ทำสิ่งที่เทียบเท่าในแผงควบคุม


1
ตกลงดังนั้นฉันจะได้รับสิ่งนี้: Microsoft Windows [เวอร์ชั่น 6.1.7601] ลิขสิทธิ์ (c) 2009 Microsoft Corporation สงวนลิขสิทธิ์. C: \ Users \ Matt Cashatt> ตั้งค่า PYTHON =% PYTHON%; D: \ Python C: \ Users \ Matt Cashatt>% PYTHON% '% PYTHON%' ไม่ได้รับการยอมรับว่าเป็นคำสั่งภายในหรือภายนอกโปรแกรมปฏิบัติการหรือไฟล์แบตช์ . C: \ Users \ Matt Cashatt>
Matt Cashatt

1
นอกจากนี้Dไดรฟ์คือที่ที่ฉันมี Python ในกรณีที่คุณสงสัย ขอบคุณอีกครั้งสำหรับความช่วยเหลือของคุณ
Matt Cashatt

ทำงานเหมือนมีเสน่ห์ขอบคุณ! สำหรับคนอื่น: ฉันต้องเรียกใช้setคำสั่งในหน้าต่างคำสั่ง NPM ด้วยเหตุผลบางอย่างจากนั้นเรียกใช้mpm install jqueryคำสั่งทันทีหลังจากนั้น ถ้าฉันแยกมันออกมามันก็ใช้ไม่ได้ด้วยเหตุผลบางอย่าง
Matt Cashatt

@MatthewPatrickCashatt: ตามที่ฉันอธิบายแล้วsetคำสั่งจะมีผลกับcmdหน้าต่างปัจจุบันเท่านั้นดังนั้นคุณต้องทำก่อนที่จะทำงานnpmในหน้าต่างเดียวกัน หากคุณต้องการตั้งค่าตัวแปรสภาพแวดล้อมให้ถาวรยิ่งขึ้นนั่นคือในแผงควบคุมระบบหรือเทียบเท่ากับ Windows รุ่นของคุณ
abarnert

3
@abarnert คือคำตอบที่แท้จริงสำหรับคำถามนี้จากนั้นตั้งค่า PYTHON = D: \ Python \ bin \ Python.exe - จะเป็นประโยชน์ถ้าคุณให้วิธีที่ถูกต้องและอธิบายวิธีที่ผิด
reach4thelasers

449

หากคุณไม่ได้ติดตั้งไพ ธ อนพร้อมกับการพึ่งพาโหนดทั้งหมดให้เปิด Powershell หรือ Git Bash ด้วยสิทธิ์ผู้ดูแลระบบและดำเนินการดังนี้

npm install --global --production windows-build-tools

แล้วติดตั้งแพคเกจ:

npm install --global node-gyp

เมื่อติดตั้งแล้วคุณจะต้องดาวน์โหลดการพึ่งพาโหนดทั้งหมด แต่คุณยังต้องการตัวแปรสภาพแวดล้อม ตรวจสอบความถูกต้องของ Python ในโฟลเดอร์ที่ถูกต้อง:

C:\Users\ben\.windows-build-tools\python27\python.exe 

หมายเหตุ - มันใช้ python 2.7 ไม่ใช่ 3.x เนื่องจากไม่รองรับ

ถ้ามันไม่ครางไปข้างหน้าและสร้างตัวแปรสภาพแวดล้อม (ผู้ใช้) ของคุณ:

setx PYTHON "%USERPROFILE%\.windows-build-tools\python27\python.exe"

รีสตาร์ท cmd และตรวจสอบตัวแปรที่มีอยู่set PYTHONซึ่งควรส่งคืนตัวแปร

สุดท้ายใช้ซ้ำ npm install <module>


1
ฉันมีข้อผิดพลาดเกี่ยวกับการอนุญาต แต่มีการจัดการให้ติดตั้ง python ด้วยตนเองจาก: C: \ Users [me] \. windows-build-tools \ python.msi ในการติดตั้งเป็นตัวเลือกที่จะเพิ่มไปยังเส้นทาง (การรีสตาร์ท cmd / PS) และทำงานได้
d.raev

ฉันได้รับข้อผิดพลาดคีย์ dh เล็กเกินไป: openssk \ ssl \ s3_clnt, c: 3641
user1428716

14
การติดตั้งเครื่องมือสร้าง windows จำเป็นต้องใช้ PowerShell ทำงานเป็นผู้ดูแลระบบใน Windows 10 ซึ่งหมายความว่าคำสั่ง setx จะกลายเป็นsetx PYTHON $env:USERPROFILE\.windows-build-tools\python27\python.exe
Bae

ฉันต้องเรียกใช้คำสั่งเหล่านี้ในพรอมต์คำสั่งที่ยกระดับ แต่ดูเหมือนว่าจะได้ผล การติดตั้ง Python 3.x ด้วยตนเองและการตั้งค่าตัวแปรสภาพแวดล้อม PYTHON ให้ชี้ไปที่ไม่ทำงาน ฉันถือว่าข้อผิดพลาดของฉันเกี่ยวข้องกับความแตกต่างในการกำหนดเวอร์ชันงูใหญ่หรือไม่ ขอบคุณไม่ว่า!
JeffryHouser

16

สำหรับฉันหลังจากติดตั้ง windows-build-tools ด้วยความคิดเห็นด้านล่าง

npm --add-python-to-path='true' --debug install --global windows-build-tools

ใช้รหัสด้านล่าง

npm config set python "%USERPROFILE%\.windows-build-tools\python27\python.exe"

ได้ทำงานแล้ว


ฉันต้องการทั้งสองขั้นตอนข้างต้นด้วย ฉันจะเพิ่มนั้นสำหรับฉัน (Windows 10 Pro 1803, โหนด v10.15.3, npm v6.9.0) เมื่อฉันวิ่งในขั้นตอนแรกขั้นตอน 'ติดตั้ง windows-build-tools' npm ขั้นตอนการติดตั้งที่ดูเหมือนจะไม่เคยดูเหมือน เสร็จสมบูรณ์ดูเหมือนว่าจะวนซ้ำไม่สิ้นสุด (ป้อนบรรทัดเอาต์พุตเดียวกันกลับไปยังคอนโซล) หลังจากดูวนซ้ำที่ไม่รู้จบเป็นเวลาหลายนาทีฉันเลือกที่จะใช้ Ctrl + C เพื่อ "จบงานแบ็ตช์" ทุกอย่างทำงานตามที่ตั้งใจการขัดจังหวะการวนซ้ำไม่เป็นปัญหา
StackOverflowUser

15

นี่คือคำแนะนำที่แก้ไขปัญหาเหล่านี้ให้ฉันได้มากมาย

http://www.steveworkman.com/node-js/2012/installing-jsdom-on-windows/

ฉันจำได้ว่าโดยเฉพาะอย่างยิ่งรุ่นงูหลามที่มีความสำคัญ ตรวจสอบให้แน่ใจว่าคุณติดตั้ง 2.7.3 แทนที่จะเป็น 3


1
ลิงค์นี้ใช้งานไม่ได้
Juangui Jordán

10

หนึ่งและ / หรือหลาย ๆ เหล่านั้นควรช่วย:

  1. เพิ่มC:\Python27\ไปยังPATHตัวแปรของคุณ(เนื่องจากคุณติดตั้ง Python ไว้ในไดเรกทอรีนี้)
    วิธีตั้งค่าPATHตัวแปร env: http://www.computerhope.com/issues/ch000549.htm
    รีสตาร์ทคอนโซลและ / หรือ Windows หลังจากตั้งค่าตัวแปร

  2. ในส่วนเดียวกับข้างบน ("ตัวแปรสภาพแวดล้อม") เพิ่มตัวแปรใหม่ด้วยชื่อPYTHONและค่าC:\Python27\python.exe
    รีสตาร์ทคอนโซลและ / หรือ Windows หลังจากตั้งค่าตัวแปร

  3. บรรทัดคำสั่งเปิด Windows ( cmd) ในโหมดผู้ดูแลระบบ
    เปลี่ยนไดเรกทอรีเป็นพา ธ การติดตั้ง Python ของคุณ: cd C:\Python27
    สร้าง symlink ที่จำเป็นสำหรับการติดตั้งบางส่วน:mklink python2.7.exe python.exe

โปรดทราบว่าคุณควรมี Python 2.x ไม่ใช่ 3.xเพื่อเรียกใช้node-gypการติดตั้งที่ใช้!

ข้อความด้านล่างพูดเกี่ยวกับ Unix แต่รุ่น Windows ต้องการ Python 2.x ด้วย:

You can install with npm:

$ npm install -g node-gyp
You will also need to install:

On Unix:
python (v2.7 recommended, v3.x.x is not supported)
make
A proper C/C++ compiler toolchain, like GCC

บทความนี้อาจช่วย: https://github.com/nodejs/node-gyp#installation


8

ฉันมีปัญหาเดียวกันและไม่มีคำตอบใดที่ช่วยได้ ในกรณีของฉันตัวแปร PYTHON ตั้งอย่างถูกต้อง อย่างไรก็ตามหลามได้รับการติดตั้งลึกเกินไปนั่นคือมีเส้นทางยาวเกินไป ดังนั้นฉันทำต่อไปนี้:

  1. ติดตั้งไพ ธ อนใหม่เป็น c: \ python
  2. ตั้งค่าตัวแปรสภาพแวดล้อม PYTHON เป็น C: \ python \ python.exe

และนั่นมัน!



6

มีวิธีแก้ไขปัญหาบางอย่างเพื่อแก้ไขปัญหานี้: 1) เรียกใช้พรอมต์คำสั่งของคุณในฐานะ "ผู้ดูแลระบบ"

หากวิธีแรกไม่สามารถแก้ปัญหาของคุณลองวิธีนี้:

2) เปิดพรอมต์คำสั่งเมื่อผู้ดูแลระบบวางบรรทัดของรหัสต่อไปนี้แล้วกด Enter:

npm install --global --production windows-build-tools

5

TL; DR สร้างสำเนาหรือนามแฝงของ python.exe ของคุณด้วยชื่อ python2.7.exe

ติดตั้ง python 2.7 ของฉันเป็น

D: \ แอป \ Python27 \ python.exe

ฉันได้รับข้อผิดพลาดนี้เสมอไม่ว่าฉันจะตั้งค่า (และตรวจสอบ) PYTHON env แล้ว:

ผิดพลาด! ข้อผิดพลาดของกองซ้อน: ไม่พบ Python ที่สามารถเรียกใช้งานได้ "python2.7" คุณสามารถตั้งค่าตัวแปร PYTHON env
ผิดพลาด! สแต็กที่ failNoPython (C: \ Program Files \ nodejs \ node_modules \ npm \ node_modules \ node-gyp \ lib \ configure.js: 103: 14)

สาเหตุของเรื่องนี้ก็คือใน config.js ของ node-gyp การใช้งาน python นั้นสามารถแก้ไขได้เช่น:

var python = gyp.opts.python || process.env.PYTHON || 'python'

และมันกลับกลายเป็นว่า gyp.opts.python มีค่า 'python2.7' ดังนั้นจึงเป็นกระบวนการแทนที่ env.PYTHON

ฉันแก้ไขปัญหานี้โดยการสร้างนามแฝงสำหรับ python.exe ที่สามารถเรียกใช้งานได้ด้วยชื่อ node-gyp ซึ่งกำลังมองหา:

D:\app\Python27>mklink python2.7.exe python.exe

คุณต้องมีสิทธิ์ของผู้ดูแลระบบสำหรับการดำเนินการนี้


5

ต่อไปนี้ใช้งานได้สำหรับฉันจากบรรทัดคำสั่งในฐานะผู้ดูแลระบบ:

การติดตั้ง windows-build-tools (อาจใช้เวลา 15-20 นาที):

 npm --add-python-to-path='true' --debug install --global windows-build-tools

การเพิ่ม / อัพเดตตัวแปรสภาพแวดล้อม:

setx PYTHON "%USERPROFILE%\.windows-build-tools\python27\python.exe"

การติดตั้ง node-gyp:

npm install --global node-gyp

การเปลี่ยนชื่อไฟล์ exe จาก Python เป็น Python2.7

C:\Users\username\.windows-build-tools\python27\Python2.7

npm install module_name --save


5

ฉันอดไม่ได้ที่จะพูดถึงเรื่องนี้ หากคุณใช้ Python3 และล้มเหลวกับ node-gyp ฉันเสียใจที่จะบอกคุณว่า node-gyp ในปัจจุบันไม่รองรับ python3

นี่คือลิงค์สำหรับคุณ: https://github.com/nodejs/node-gyp/issues/1268 https://github.com/nodejs/node-gyp/issues/193


5

นี่เป็นวิธีที่ง่ายที่สุดในการปล่อยให้ NPM ทำทุกอย่างเพื่อคุณ

npm --add-python-to-path='true' --debug install --global windows-build-tools

4

วิธีที่ถูกต้องคือ 1) ดาวน์โหลดและติดตั้งหลาม 2.7.14 จากที่นี่ 2) การตั้งค่าตัวแปรสภาพแวดล้อมสำหรับหลามจากที่นี่

ทำ!

หมายเหตุ: โปรดตั้งค่าตัวแปรสภาพแวดล้อมตามนั้น ฉันตอบที่นี่สำหรับ windows


4

ผมได้พบกับความท้าทายเดียวกันในขณะที่พยายามที่จะติดตั้ง node-sass@4.9.4

และหลังจากดูเอกสารอย่างเป็นทางการในปัจจุบันและหลังจากอ่านคำตอบข้างต้นแล้วฉันสังเกตว่าคุณอาจไม่จำเป็นต้องติดตั้ง node-gyp หรือติดตั้งเครื่องมือ windows-build นี่คือสิ่งที่มันบอกว่าที่นี่เกี่ยวกับการติดตั้งโหนดโกงบน windows จำ node-gyp ที่เกี่ยวข้องในกระบวนการติดตั้งของ node-sass และคุณไม่จำเป็นต้องติดตั้งไพ ธ อนอีกครั้ง

นี่คือผู้ช่วยชีวิตให้กำหนดค่าเส้นทาง python ที่ "npm" ควรมองหาขณะติดตั้งแพ็คเกจใด ๆ ที่ต้องใช้เครื่องมือสร้าง

C:\> npm config set python /Python36/python

ฉันติดตั้ง python3.6.3 บน windows-7 แล้ว


วิธีการแก้ปัญหาเดียวกันทำงานให้ฉันในขณะติดตั้งnode-sass@4.9.4เมื่อฉันเปลี่ยนไปwindows-10ใช้node@10.6.3และyarn@1.19.1
MwamiTovi

โปรดทราบว่าPython36/pythonควรเป็นพา ธ ไปยังไฟล์ปฏิบัติการของหลาม.exe
MwamiTovi

หากใหม่ไปที่ตำแหน่งที่ติดตั้งโปรแกรมปฏิบัติการของคุณ ใน windowsกดhold Shift, and Right-Clickและป้อนสิ่งนี้:npm config set python
MwamiTovi

2

ทำไมไม่ดาวน์โหลดติดตั้งหลามที่นี่ ? มันทำให้การทำงานสำหรับคุณเมื่อคุณตรวจสอบการติดตั้งเส้นทาง


2

สำหรับฉันขั้นตอนเหล่านี้แก้ไขปัญหา:

1- ใช้งาน cmd นี้ในฐานะผู้ดูแลระบบ:

npm install --global --production windows-build-tools

2- จากนั้นรันnpm rebuildหลังจากขั้นตอนที่ 1 เสร็จสมบูรณ์(โดยเฉพาะอย่างยิ่งทำการติดตั้ง python 2.7 ซึ่งเป็นสาเหตุหลักของปัญหา)


1

นี่คือคำสั่งที่ถูกต้อง: set path =% path%; C: \ Python34 [แทนที่ด้วยเส้นทางที่ถูกต้องของการติดตั้งหลามของคุณ]

ฉันมีปัญหาเดียวกันและฉันก็แก้ไขได้เช่นนี้

ดังที่คนอื่น ๆ ชี้ให้เห็นว่านี่คือการกำหนดค่าแบบระเหยใช้งานได้เฉพาะกับเซสชัน cmd ปัจจุบันและ (แน่นอน) คุณต้องตั้งค่าเส้นทางของคุณก่อนที่คุณจะเรียกใช้การติดตั้ง npm

ฉันหวังว่านี่จะช่วยได้.


1

ผิดพลาด! กำหนดค่าข้อผิดพลาด gyp ERR! ข้อผิดพลาดของกองซ้อน: ไม่พบ Python ที่สามารถใช้งานได้ "python" คุณสามารถตั้งค่าตัวแปร PYT HON

ไม่จำเป็นต้องติดตั้งใหม่ข้อยกเว้นนี้ส่งโดย node-gyp script จากนั้นลองสร้างใหม่ ตัวแปรสภาพแวดล้อมการตั้งค่าเพียงพอเช่นในกรณีของฉันฉัน:

SET PYTHON=C:\work\_env\Python27\python.exe

1

ถ้าคุณกำลังพยายามที่จะใช้นี้บน Cygwin แล้วคุณจะต้องปฏิบัติตามคำแนะนำในคู่มือนี้คำตอบ (เป็นปัญหาที่ Cygwin ปฏิบัติต่อ Windows symlinks)


1

ตัวอย่าง: pg_config ไม่สามารถเรียกใช้งานได้ / error node-gyp

การแก้ไข: บน windows ให้ลองเพิ่ม PATH Env -> C: \ Program Files \ PostgreSQL \ 12 \ bin

ทำงานให้ฉันตอนนี้ฉันสามารถใช้ NPM ฉัน pg- สัญญาเช่นหรือการอ้างอิงอื่น ๆ


สำหรับpg-promiseคุณไม่จำเป็นต้องใช้สิ่งนี้ คุณอาจจะถูกจับขึ้นตามนี้ เพียงแค่ใช้รุ่นล่าสุดและคุณจะสบายดีไม่จำเป็นต้องมีสิ่งพิเศษใด ๆ เลย)
vitaly-t

0

สำหรับฉันปัญหาคือว่าฉันใช้รุ่นล่าสุดของโหนดไม่ใช่LTSรุ่นที่เป็นรุ่นที่เสถียรและแนะนำสำหรับผู้ใช้ส่วนใหญ่
ใช้LTSเวอร์ชั่นแก้ไขปัญหาได้
คุณสามารถดาวน์โหลดได้จากที่นี่:

รุ่น LTS

รุ่นล่าสุดในปัจจุบัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.