โหนด Sass ไม่พบการเชื่อมโยงสำหรับสภาพแวดล้อมปัจจุบันของคุณ


499

ฉันมีปัญหาในการสร้างแอปเนื่องจาก node-sass ล้มเหลวพร้อมกับข้อผิดพลาด

ข้อผิดพลาดในการเชื่อมโยงที่ขาดหายไป /Users/warren/Sites/random-docs/my-cms/node_modules/node-sass/vendor/darwin-x64-11/binding.node
โหนด Sass ไม่พบการเชื่อมโยงสำหรับสภาพแวดล้อมปัจจุบันของคุณ: OS X 64 บิตพร้อม Node 0.10.x

ฉันพยายามวิ่งแล้ว

npm rebuild node-sass

ซึ่งบอกว่า

ไบนารีดี ออกจาก

เมื่อทำงานnode -vฉันจะได้รับ v6.2.2

ซึ่งแตกต่างจากข้อผิดพลาด sass ที่ระบุว่า "Node 0.10.x" ฉันไม่สามารถหาสาเหตุที่ทำให้รุ่นผิด ฉันยังได้ลองลบโฟลเดอร์ node_modules และรันการปรับปรุง npm หรือการติดตั้ง npm ซึ่งทั้งสองอย่างไม่ได้แก้ปัญหา ความคิดใด ๆ


8
คุณกำลังใช้ตัวจัดการเวอร์ชันของโหนดเช่นnvm? หากคุณเป็นบางครั้งมันทำให้เส้นทางโมดูล npm บางส่วนยุ่งและพวกเขาลองใช้เวอร์ชันแตกต่างจากพา ธ ปัจจุบัน ถ้าไม่ใช่คุณสามารถลองลบnode_modulesโฟลเดอร์และติดตั้งการอ้างอิงอีกครั้งได้เสมอ
Vasil Dininski

2
เฮ้ฉันไม่ได้ใช้ nvm และฉันลองขั้นตอนการลบ / ติดตั้งใหม่ ไม่มีโชค.
wazzaday

สภาพแวดล้อมการพัฒนาของคุณคืออะไร? คุณใช้ VS.NET 2105 หรือเปล่า?
Mike Anderson

@VasilDininski ฉันกำลังใช้ nvm ฉันควรทำอย่างไร
Subkhan Sarif

1
เปิด Visual Studio 2017 ไปที่เครื่องมือ -> ตัวเลือก…ไปที่โครงการและการแก้ปัญหา -> การจัดการแพ็คเกจเว็บย้าย $ (PATH) ไปที่ด้านบนของรายการนั้นและปิดหน้าต่างนั้น ในกรณีของการแก้ปัญหานี้ทำงานเนื่องจากรุ่นโหนดของฉันคือ 11.x
Alreadytakenindeed

คำตอบ:


721

ผมมีปัญหาเดียวกัน

มีข้อผิดพลาดใน gulpfile ของคุณ:
ข้อผิดพลาด: ไม่มีการเชื่อมโยง E: \ allapp \ badshaindiancuisine \ node_module \ node-sass \ Vend \ win32-x64-46 \ binding.node
โหนด Sass ไม่พบการเชื่อมโยงสำหรับสภาพแวดล้อมปัจจุบันของคุณ: Windows 64 - บิตพร้อม Node.js 4.x

พบการเชื่อมโยงสำหรับสภาพแวดล้อมต่อไปนี้:
    - OS X 64-bit with Node.js 4.x

วิธีแก้ปัญหาของฉัน

โดยไปที่โฟลเดอร์โครงการแล้วดำเนินการ:

npm rebuild node-sass

6
ทำงานครั้งแรก แต่ยังคงมีปัญหา ดังนั้นฉันไป/usr/local/lib/ใช้ CMD + SHIFT + G ในตัวค้นหาและเปลี่ยนชื่อโฟลเดอร์ node-sass npm install node-sass -gวิ่งแล้ว คงที่ ฉันใช้ Mac OS
IsmailS

ฉันกำลังเผชิญกับปัญหานี้หลังจากอัปเดต nodejs เป็น 8.xx และสิ่งนี้แก้ไขได้ ขอบคุณมาก! ชื่นชม!
ChiragMS

2
ใช้งานไม่ได้ โหนด: โหนดเขื่อง:v10.7.0 v3.13.1กล่าวว่าสภาพแวดล้อมปัจจุบันของฉันคือ windows 32 บิตที่มีโหนด 0.10.x ซึ่งไม่เป็นความจริงเลย
Bardicer

สิ่งนี้ทำงานได้ใน windows 7 ที่มีโหนด 10.14 LTS และ npm 6.4.1
santon

9
ขั้นตอนแรกคือการลบnode_modulesและรันnpm installแทนที่จะสร้างโหนด -ass ของคุณใหม่
Nikhil Nanjappa

294

หมายเหตุฉันใช้ VS 2015 Windows 64 บิต

ใช้ได้กับ VS 2017 และ VS 2019 (จากคำตอบของโพสต์นี้)

Task Runner Explorer ไม่สามารถโหลดงานได้

สำหรับ VS 2015

  • ไปที่: เครื่องมือ> ตัวเลือก> โครงการและโซลูชัน> เครื่องมือเว็บภายนอก

สำหรับ VS 2017 (.3)

  • เครื่องมือ> ตัวเลือก> โครงการและโซลูชัน> การจัดการแพ็คเกจเว็บ> เครื่องมือเว็บภายนอก (ต่อ @nothrow)

ใน VS 2017 และ 2019 คุณต้องใส่ $ (PATH) ด้านบน $ (VSINSTALLERDIR) \ Web \ External


  • จัดลำดับใหม่เพื่อให้ $ (PATH) สูงกว่า $ (DevEnvDir) \ Extensions \ Microsoft \ Web Tools \ External

ป้อนคำอธิบายรูปภาพที่นี่


การลบnode_modulesและเรียกใช้npm installแล้วnpm rebuild node-sass ไม่ได้ทำอะไรเลย


5
หากคุณใช้ VS2015 คุณควรทำการเปลี่ยนแปลงตามที่อธิบายไว้ในคำตอบนี้อย่างแน่นอน อาจเป็นสิ่งที่คุณต้องทำเพื่อแก้ไขปัญหานี้
Bonneville

12
สิ่งนี้ใช้ได้กับการติดตั้งใหม่ของ VS2017 ด้วย
sarin

8
ใน VS2017.3 เส้นทางไปยังการตั้งค่าคือTools > Options > Projects and Solutions > Web Package Management > External Web Tools
nothrow

6
ประณามฉันจะไม่คิดออก ... ทั้งหมดเพื่อรวบรวมโง่เขลากับโหนดโง่ในจาวาสคริปต์โง่
L.Trabacchin

7
สามารถยืนยันสิ่งนี้ยังคงเป็นสิ่งที่อยู่ใน VS 2019
JamesT

140

ฉันมีปัญหาเดียวกันในสภาพแวดล้อม Windows ได้รับข้อผิดพลาดต่อไปนี้:

ข้อผิดพลาด: การรวม C: \ Development {ProjectName} \ node_modules \ node-sass \ seller \ win32-ia32-47 \ binding.node หายไป
โหนดโหน Sass ไม่พบการเชื่อมโยงสำหรับสภาพแวดล้อมปัจจุบันของคุณ: Windows 32 บิตด้วย Node.js 5 .x
พบการเชื่อมสำหรับสภาพแวดล้อมต่อไปนี้:
   - Windows 64-bit with Node.js 6.x

ไม่มีnpmคำสั่งที่ระบุไว้ในคำตอบอื่น ๆ ที่นี่ ( npm install,npm rebuild node-sassฯลฯ ) ทำงาน

แต่ฉันต้องดาวน์โหลดการเชื่อมโยงที่ขาดหายไปและวางไว้ในโฟลเดอร์ปลายทางที่เหมาะสม

ผูกสามารถพบได้บนคอมไพล์ จับคู่ไฟล์กับชื่อโฟลเดอร์ที่ระบุหลังจาก/node_modules/node-sass/vendor/ข้อความแสดงข้อผิดพลาด ('darwin-x64-11' ในกรณีของคุณดังนั้นคุณต้องการdarwin-x64-11_binding.nodeไฟล์)

สร้างโฟลเดอร์ที่หายไปในโครงการของคุณ ( /node_modules/node-sass/vendor/darwin-x64-11) คัดลอก.nodebinding.nodeไฟล์ไปยังไดเรกทอรีใหม่และเปลี่ยนชื่อเป็น

URL รีลีสของโหนด: https://github.com/sass/node-sass/releases


3
ยังทำงานให้ฉันขอบคุณ! พยายามทำความสะอาด node_modules, การลบ cache, rifraf, สร้าง node-sass, สร้างใหม่จาก VS2015 แทนจาก command line ด้วย npm และในตอนท้ายทำให้มันคงที่
Artur Carvalho

1
@ JanCiołekฉันมีสิ่งนี้เกิดขึ้นเพียงครั้งเดียวดังนั้นฉันจึงไม่ต้องทำสิ่งนี้ซ้ำ ฉันไม่แน่ใจว่าเป็นรุ่นเฉพาะหรือมีปัญหากับการติดตั้งเฉพาะ แต่ฉันไม่พบวิธีแก้ไขที่ดีกว่า (คำตอบอื่น ๆ ที่นี่ไม่ได้ผลสำหรับฉัน) ยุ่งยากหรือไม่มันดูเหมือนจะเป็นทางออกที่จำเป็นสำหรับการเปลี่ยนแปลงของปัญหานี้
Beofett

1
@Beofett ข้อผิดพลาดนี้กินมากเวลาของฉันฉันทำทุกอย่างที่กล่าวถึงในหัวข้อนี้ แต่ฉันลืมที่จะเรียกใช้การรวบรวมขอบคุณ!
Jan Ciołek

4
นี่เป็นคำตอบเดียวที่ผู้ปฏิบัติงานสำหรับฉัน แต่พบข้อผูกมัดของฉันในgithub.com/sass/node-sass/releasesแทน URL ที่เชื่อมโยง ไชโย
clapas

2
ขอบคุณ @Beofett คำตอบของคุณช่วยให้ฉันสามารถรันโครงการ Ionic ของฉันใน Windows และ Mac OSX
Marcus Crisostomo

138

ทำงานให้ฉัน:

npm installเพียงแค่ลบโฟลเดอร์โหนดเขื่องและเรียกใช้


4
มันก็ใช้ได้กับฉันเช่นกัน เห็นได้ชัดว่าความขัดแย้งของเวอร์ชั่นโหนด ขอบคุณ!
Liz Lemon

1
ต้องลบมันในไดเรกทอรีดังต่อไปนี้: C: \ Users \ your_user_name \ AppData \ Roaming \ npm-cache
แมตต์

7
สิ่งนี้ได้ผล! npm rebuild node-sassไม่ได้ผลสำหรับฉัน (Mac กับ WebStorm)
Jackpile

3
นี่เป็นทางออกเดียวที่ได้ผลสำหรับฉัน! npm rebuild node-sass --forceไม่ทำงานเช่นกัน
bigsee

ควรทำเครื่องหมายเป็นคำตอบ จนถึงตอนนี้ฉันไม่รู้ว่าทำไมโซลูชันของฉันยังคงกำหนดเป้าหมายโหนดรุ่นที่สูงขึ้นและให้ข้อความแสดงข้อผิดพลาดเกี่ยวกับ nodesass ให้ฉัน ฉันมีขั้นตอนหนึ่งในไปป์ไลน์ Azure เพื่อบังคับรุ่นโหนดให้เป็นรุ่นที่ฉันต้องการ ตอนนี้ฉันสามารถลบขั้นตอนนั้นได้!
James Blackburn

117

เพิ่งดำเนินการ: npm rebuild node-sass --force


หากเหตุผลบางประการข้างต้นไม่ได้ผลสำหรับคุณลอง:

  1. ลบnode-sassโฟลเดอร์ภายใต้node_modules
  2. npm install

Pythonในกรณีของฉันก็ยังไม่สามารถหา

ขั้นตอนต่อไปนี้แก้ไขปัญหา (Windows):

npm rebuild node-sass --force
-- cannot find python.exe, if you have Python installed, add it to your path:
set PYTHON=C:\Python27\Python.exe
-- else: download python "Windows x86-64-MSI" installer from https://www.python.org/downloads/release/python-2714/
-- install python
-- at installation start check: add env variable to path
-- after successfull installation:
npm rebuild node-sass --force
-- finished successfully

1
ข้างต้นใช้งานได้สำหรับฉันแม้ว่ามันจะเกิดขึ้นสองครั้งในสองแอพต่างกันในสองโฟลเดอร์ การติดตั้งหลามเป็นแบบครั้งเดียว (จำเป็นต้องใช้เมื่อฉันได้รับข้อผิดพลาดเป็นครั้งที่สองในแอปอื่น ๆ ของฉัน) และฉันไม่ต้องการคำสั่ง npm run build สุดท้าย (ไม่ใช่อย่างน้อยที่สุด) แต่ฉันต้องทำการสร้างใหม่ - บังคับใช้สองครั้งสำหรับทั้งแอปของฉัน
Greg Trevellick

31

npm rebuild node-sass --force

หรือถ้าคุณใช้ node-sass ภายในคอนเทนเนอร์:

docker exec <container-id> npm rebuild node-sass --force

ข้อผิดพลาดนี้เกิดขึ้นเมื่อ node-sass ไม่มีการเชื่อมต่อที่ถูกต้องสำหรับระบบปฏิบัติการปัจจุบัน

หากคุณใช้ Docker ข้อผิดพลาดนี้มักจะเกิดขึ้นเมื่อคุณเพิ่มลงnode_modulesในระบบไฟล์คอนเทนเนอร์โดยตรงใน Dockerfile ของคุณ (หรือติดตั้งโดยใช้วอลุ่ม Docker)

สถาปัตยกรรมคอนเทนเนอร์อาจแตกต่างจากระบบปฏิบัติการปัจจุบันของคุณ ตัวอย่างเช่นฉันติดตั้ง node-sass บน macOS แต่คอนเทนเนอร์ของฉันรัน Ubuntu

หากคุณบังคับให้ node-sass สร้างใหม่จากภายในคอนเทนเนอร์ node-sass จะดาวน์โหลดการเชื่อมที่ถูกต้องสำหรับระบบปฏิบัติการคอนเทนเนอร์

ดูกรณีที่ฉันทำซ้ำเพื่อเรียนรู้เพิ่มเติม


1
หันหน้าไปทางปัญหาเดียวกันกับสภาพแวดล้อมที่แตกต่างกัน: - dev ภายใต้ MacOS สำหรับการทดสอบหน่วย - dev ใช้นักเทียบท่า (สำหรับการโต้ตอบระบบเต็มรูปแบบ) - แยงภายใต้ระบบปฏิบัติการอัลไพน์; การติดตั้ง (หรือไม่) และnpm install(หรือไม่) ในตัวเทียบท่าเป็นปัญหาเมื่อมีโมดูลที่ขึ้นอยู่กับสถาปัตยกรรม: รับดาร์วินหรือลินุกซ์ไบนารีขึ้นอยู่กับที่คุณnpm iเกิดขึ้นสำหรับโมดูล NodeJS เช่นnode-sassหรือ@google-cloud/pubsub
Laurent

ขอบคุณสำหรับการพูดถึงวิธีแก้ปัญหาสำหรับนักเทียบท่านี่คือสิ่งที่แก้ไขสำหรับฉัน!
Joshua Soileau

ฉันมีซึ่งถูกผูกติดตั้งลงในภาชนะที่/node_modules /app/node_modulesแม้ว่าฉันNODE_PATHเป็น/node_modules(ซึ่งมีอยู่) และน่าจะอยู่ในจุดที่แตกต่างกัน .. แต่มันเริ่มก่อให้เกิดปัญหาแบบสุ่ม ฉันได้ติดตั้งที่สถานที่ทั้งสองเพื่อที่ dev ของฉันสำหรับ depttier จะทำงานกับ vscode ของฉัน ขออภัย สิ่งแปลก ๆ ขอบคุณสำหรับนักเทียบท่าพูดถึง <3
นิคเบรดี้

25

ฉันมีปัญหาที่คล้ายกันและสาเหตุที่มีการติดตั้ง Node สองเวอร์ชันในเครื่องของฉัน: หนึ่ง "ทั่วโลก" และอีกหนึ่งที่ระดับโครงการ Sass จะสร้างอย่างถูกต้องเฉพาะในกรณีที่ Gulp build ทำงานภายใต้รุ่น Node.js 4.x ดังนั้นโปรดตรวจสอบให้แน่ใจว่าคุณได้อัพเกรดรุ่นของ Node ที่คุณใช้อยู่

PS: ถ้าคุณลบโฟลเดอร์node_modulesในโครงการของคุณและสร้างใหม่อีกครั้งตั้งแต่เริ่มต้น npm จะดาวน์โหลดการอ้างอิงที่ถูกต้องสำหรับระบบและเวอร์ชันโหนดปัจจุบันของคุณ


ขอบคุณพระเจ้าสำหรับสิ่งนี้ ฉันพยายามลดระดับโหนดบน macbook ของฉันก่อนแล้วจึงยอมแพ้หลังจากครึ่งชั่วโมง
cpt Senkfuss



12

สำหรับกรณีของฉันไม่มีคำตอบใด ๆ ที่ได้ผล ดังนั้นมันทำงานอย่างไร:

rm -rf node_modules 
rm -rf /tmp/* 
rm -rf /root/.npm/node-sass 
npm uninstall --save node-sass 
npm cache clean --force 

npm cache verify เพื่อตรวจสอบว่าไม่มีสิ่งใดเหลืออยู่ในแคช

npm install

Altough ฉันไม่ได้พยายามทำซ้ำลำดับมันเป็นการรวมกันของข้างต้นที่ทำงาน นอกจากนี้คุณอาจลอง:

npm install --save node-sass หรือ npm install node-sass -g

npm rebuild node-sass
npm install bindings

11

* คำตอบที่เกี่ยวข้องกับนักเทียบท่าที่นี่ *

คำตอบสำหรับถ้าคุณเห็นปัญหานี้หรือสิ่งที่คล้ายกันและกำลังใช้ Docker

สาเหตุ: เมื่อคัดลอกผ่านโครงสร้างไฟล์ปัจจุบันไปยังภายใน Docker container คุณอาจกำลังคัดลอกโมดูลของโหนดจากระบบปฏิบัติการหนึ่งไปยังอีกระบบหนึ่ง (เช่น Mac ไปยังคอนเทนเนอร์ Linux)

สารละลาย:

เพิ่ม.dockerignoreและภายในเพิ่ม:

node_modules

สิ่งนี้จะทำให้การnpm installติดตั้งการเชื่อมโยงสำหรับสภาพแวดล้อมของนักเทียบท่าแทนที่จะเป็นสภาพแวดล้อมของเครื่องท้องถิ่นของคุณ


9

ผมมีปัญหาเดียวกัน

    throw new Error(errors.missingBinary());
    ^

Error: Missing binding /path/to/project/node_modules/node-sass/vendor/linux-x64-47/binding.node
Node Sass could not find a binding for your current environment: Linux 64-bit with Node.js 5.x

Found bindings for the following environments:
  - Linux 64-bit with Node 0.10.x
  - Linux 64-bit with Node.js 5.x

นั่นเป็นเพราะฉันทำการติดตั้ง npm โดยใช้เวอร์ชัน nodejs อื่นลองลบโฟลเดอร์ node_modules การติดตั้งและการเริ่มต้น

cd your_project
rm -rf node_modules
npm install
npm start or gulp or whatever

หากคุณใช้ nvm do

nvm use stable // or your favorite version
// remove node_module directory
npm install
npm start or gulp or whatever

8

ฉันมีปัญหาเดียวกันกับโหนด v7.4.0 ปัจจุบัน (คุณสมบัติล่าสุด)

มีบางคนอ่านที่นี่และลดระดับ Node เป็น v6.9.4 LTS และหลังจากรันnpm rebuild node-sassมันจะดาวน์โหลดไบนารีและทุกอย่างเริ่มทำงาน

กำลังดาวน์โหลดไบนารีจากhttps://github.com/sass/node-sass/releases/download/v3.13.1/win32-x64-48_binding.node
ดาวน์โหลดเสร็จสมบูรณ์] -:
ไบนารีถูกบันทึกไปยัง D: \ xxx \ xxx-xxx \ node_modules \ node-sass \ seller \ win32-x64-48 \ binding.node
การแคชไบนารีไปยัง C: \ Users \ user \ ผู้ใช้ \ AppData \ Roaming \ npm-cache \ node-sass \ 3.13.1 \ win32-x64-48_binding.node `


7

node-sassโหนดโมดูลใช้darwinไฟล์ไบนารีซึ่งขึ้นอยู่กับรุ่นของโหนด ปัญหานี้เกิดขึ้นเมื่อไม่ได้ดาวน์โหลดไฟล์ไบนารีหรือดาวน์โหลดไฟล์ไบนารีผิด

ข้อผิดพลาด sass ของโหนด

การติดตั้งโมดูลโหนดอีกครั้งจะดาวน์โหลดไบนารีที่คาดหวังของ node-sass: -

สำหรับผู้ใช้ Mac:

rm -rf node_modules
npm cache clean --force
npm i
npm rebuild node-sass --force

สำหรับผู้ใช้ Windows:

rmdir node_modules
npm cache clean --force
npm i
npm rebuild node-sass --force

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

โหนด sass เวอร์ชันที่เข้ากันได้ของโหนด JS

หากปัญหายังไม่ได้รับการแก้ไขให้ตรวจสอบรายการสภาพแวดล้อมที่สนับสนุนโหนด -sass: - https://github.com/sass/node-sass/releases/


5

สำหรับ Visual Studio 2015/2017 คลิกขวาที่ของคุณpackage.jsonแล้วคลิกที่เรียกคืนแพ็คเกจ

สิ่งนี้จะทำให้แน่ใจว่ามีการเรียกใช้ npm จากเครื่องมือภายนอกของ Visual Studio Tools และการเชื่อมโยงจะถูกสร้างใหม่ตามนั้น


วิธีแก้ปัญหาที่ดีและใช้งานง่ายและมีเพียงเครื่องเดียวเท่านั้นที่ทำงานจากที่กล่าวมาข้างต้นที่ฉันลอง ขอบคุณ!
Eli Gassert

4

สิ่งนี้เกิดขึ้นเมื่ออยู่ในเวิร์กสเตชันของคุณคุณรันการอัพเดต Node.js และคุณกำลังใช้ node-sass ทั่วโลก

ดังนั้นคุณควรถอนการติดตั้ง node-sass ไปทั่วโลก

npm uninstall -g node-sass

จากนั้นคุณต้องติดตั้งทั่วโลกอีกครั้ง

npm install -g node-sass

คำอธิบายที่ดี!
Michael Czechowski

@ Fay007 คุณสามารถให้ข้อมูลเพิ่มเติมได้หรือไม่? คุณมีข้อผิดพลาดหรือไม่? แจ้งให้เราทราบ
Domenico

4

เพียงรีเฟรชแคช npm ของคุณและ:

npm cache clean --force  
npm install

มันใช้ได้กับฉันเสมอในกรณีเดียวกัน

UPD: ปัญหาของคุณอาจเนื่องมาจากการขาด sasslib ทั่วโลก

npm install -g sass

4

เพียงแค่แสดงความคิดเห็นว่ามัน

npm สร้างโหนด-sass อีกครั้ง

เพลิดเพลินกับการเข้ารหัสของคุณ ...


OP กล่าวว่าเขาลองและไม่ได้ผล ฉันก็เช่นกันและมันก็ไม่ได้ผลสำหรับฉันเช่นกัน แต่ฉันต้องปรับลดรุ่นของโหนดที่ฉันใช้อยู่
Adrian Redgers

4

การขึ้นต่อกันของโพสต์สำหรับ node-sass ไม่ได้รับการติดตั้งโดยไม่มีpackage.jsonภายในnode-sass

เรียกใช้แก้ไขด้วยตนเองสำหรับฉัน

node node_modules/node-sass/scripts/install.js 

เครดิต: ลิงก์


ขอบคุณสำหรับสิ่งนี้แก้ไขปัญหาของฉันได้อย่างสมบูรณ์แบบ! :)
Lewis Clarke

ดีใจที่ได้ทราบ :)
Mukundhan

3

npm installนี้มักจะเกิดขึ้นเพราะสภาพแวดล้อมที่มีการเปลี่ยนแปลงตั้งแต่ทำงาน การรันnpm rebuild node-sassจะสร้างการเชื่อมโยงสำหรับสภาพแวดล้อมปัจจุบัน


3

ฉันเป็นผู้ใช้ Windows 8 ที่เพิ่งปรับปรุงโหนดเป็นv8.11.1และ npm ถึงv6.0.0และประสบปัญหาที่คล้ายกัน ไม่มีอะไรทำงาน - npm install -g node-sass@latestหรือลบnode-sassไดเรกทอรีออกจากโครงการnode_modules/- ไม่มีเลยเลยสำหรับฉัน

The Laravel Mix กำลังส่งข้อผิดพลาดไปยังคอนโซลเบราว์เซอร์ของฉันโดยบอกว่ามีโหนดที่ขาดหายไป: win32-x64-57ถูกขว้างปาข้อผิดพลาดไปยังคอนโซลเบราว์เซอร์ของฉันบอกว่าโหนดขาดหายไป: ฉันไม่รู้ว่าเป็นเพราะการเชื่อมต่ออินเทอร์เน็ตช้าลงหรือบางสิ่งบางอย่างโหนดขาดหายไประหว่างการอัปเดต

ดังนั้นคำตอบบางคำสั่งให้ฉันดูที่การเผยแพร่ Node-Sass และฉันพบวิธีแก้ปัญหา

  1. ขั้นตอนที่ 1:ตรวจสอบเวอร์ชันโหนด - sass ของคุณโดยใช้คำสั่ง: npm view node-sass version( {your version}ในขั้นตอนที่ 4)
  2. ขั้นตอนที่ 2: รับการเผยแพร่ Node-Sass
  3. ขั้นตอนที่ 3:รับรุ่นของคุณและค้นหาโหนดที่ขาดหายไปในเนื้อหาที่ระบุไว้ในทุกรุ่นและดาวน์โหลดไฟล์
  4. ขั้นตอนที่ 4:ไปที่พีซีของคุณC:\Users\{User}\AppData\Roaming\npm-cache\node-sass\{your version}\และวาง.nodeไฟล์ที่ดาวน์โหลดไว้ในโฟลเดอร์เวอร์ชั่น

และคุณทำเสร็จแล้ว

ในกรณีของฉันรุ่นของโหนด - sass เป็น4.9.0และโหนดที่ขาดหายไปwin32-x64-57_binding.nodeดังนั้นฉันจึงดาวน์โหลด.nodeไฟล์จากรุ่น 4.9.0และทำตามขั้นตอนที่ 4


2

ข้อผิดพลาดที่คล้ายกันที่ฉันพบกับ Visual Studio 2015 Community Edition ขณะที่สร้างแอป AspNetCore คือ:

Node Sass could not find a binding for your current environment: Windows 32-bit with Node.js 5.x
Found bindings for the following environments:
  - Windows 64-bit with Node.js 6.x
This usually happens because your environment has changed since running `npm install`.
Run `npm rebuild node-sass` to build the binding for your current environment.
    at module.exports ([..]\node_modules\node-sass\lib\binding.js:15:13)
    at Object.<anonymous> ([..]\node_modules\node-sass\lib\index.js:14:35)
    at Module._compile (module.js:397:26)
    at Object.Module._extensions..js (module.js:404:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Module.require (module.js:353:17)
    at require (internal/module.js:12:17)
    at Object.<anonymous> ([..]\node_modules\gulp-sass\index.js:187:21)
    at Module._compile (module.js:397:26)

คุณสามารถดูได้จากข้อผิดพลาดด้านบนว่าสาเหตุมาจากรุ่นที่ไม่ตรงกันในการผูกสำหรับ nodejs

Node Sass ไม่พบการเชื่อมโยงสำหรับสภาพแวดล้อมปัจจุบันของคุณ: Windows 32-bit พร้อม Node.js 5.x

พบการเชื่อมโยงสำหรับสภาพแวดล้อมต่อไปนี้: - Windows 64-bit with Node.js 6.x

ทางออกที่ฉันพบคือ

  • ติดตั้งรุ่น nodejs หน้าต่าง ,
  • เพิ่มพา ธ สำหรับโหนด js (C: \ Program Files \ nodejs) ในเครื่องมือเว็บภายนอก (ดูคำตอบของ Rob Scott)
  • ย้ายพา ธ nodejs เหนือ $ (PATH)

2

สิ่งนี้ทำงานสำหรับฉันการลบnode_modulesแล้วกู้คืนแพคเกจจาก IDE แล้วnpm rebuild node-sass


2

ฉันมีปัญหานี้เมื่ออัปเกรดจาก VS 2017 Professional เป็น Enterprise

  1. ปิด VS
  2. ลบ node_modules
  3. เปิด VS
  4. คลิกขวาที่ package.json และเลือก 'กู้คืนแพ็คเกจ'

2

ไม่มีวิธีการติดตั้ง / สร้างใหม่แก้ไขปัญหาสำหรับฉัน (ใช้อึก)

นี่คือวิธีที่ฉันแก้ไขมัน:

1) ดาวน์โหลดไฟล์การเชื่อมต่อที่ขาดหายไปจากที่เก็บพื้นที่เก็บข้อมูล

2) binding.nodeเปลี่ยนชื่อไฟล์

3) สร้างnode_modules/node-sass/vendor/darwin-x64-11ไดเรกทอรี (เส้นทางจากข้อความแสดงข้อผิดพลาด) หากไม่มีอยู่

4) เพิ่มไฟล์การผูกเข้ากับ node_modules/node-sass/vendor/darwin-x64-11



2

หากหน้าจอพร้อมรับคำสั่งของคุณแจ้งว่า:

โหนด Sass ไม่พบการเชื่อมโยง 
สำหรับสภาพแวดล้อมปัจจุบันของคุณ: 
OS X 64-bit พร้อม Node 0.10.x

และคุณลองคำสั่งต่อไปนี้เช่น:

แคช NPM สะอาด - กำลัง 
โมดูลโหนด rm -rf 
ติดตั้ง NPM 
npm สร้างโหนด-sass อีกครั้ง 
npm สร้างโหนด-sass อีกครั้ง

& ยังคงไม่มีอะไรทำงาน ..

เพียงเปิดใช้งานในเทอร์มินัลด้วยตนเอง:

โหนด node_modules / node-sass / สคริปต์ / install.js

ตอนนี้ทำงาน

npm start หรือ yarn start


1
ที่สุด! ขอบคุณ. นี่เป็นวิธีเดียวที่ใช้ได้ผลสำหรับฉันจนถึงตอนนี้ ฉันดิ้นรนมาสองวันแล้ว คุณช่วยอธิบายเหตุผลได้ไหม?
burakcalik

1
ใช่ใช่ใช่! ที่สุด! แจ็กกี้ - ขอบคุณมาก
user2051552

1

node-sass รันสคริปต์การติดตั้งเพื่อดาวน์โหลดไบนารีที่ต้องการ หากไม่มีตัวแปรสภาวะแวดล้อมตัวแปร. npmrc หรืออาร์กิวเมนต์กระบวนการตั้งค่าไบนารีจะถูกกำหนดโดยใช้แพลตฟอร์มกระบวนการปัจจุบันสถาปัตยกรรมและเวอร์ชันโหนด ABI ดังนั้นถ้าคุณรันการติดตั้งโหนดในแอพพลิเคชั่นเดียวแล้วลองรัน node-sass ในแอพพลิเคชั่นที่มีแพลตฟอร์ม / สถาปัตยกรรม / ABI ที่แตกต่างกันไบนารีจะไม่ถูกดาวน์โหลด วิธีแก้ไขคือดาวน์โหลดไบนารีหรือแก้ไขรุ่นไบนารีด้วยตนเองโดยใช้ตัวแปรสภาพแวดล้อม (SASS_BINARY_NAME) หรือตัวแปร. npmrc (sass_binary_name)

คุณสามารถดูตรรกะสำหรับสิ่งนี้ในฟังก์ชัน getBinaryPath ใน node-sass \ lib \ extensions.js


1

ฉันมีปัญหาเดียวกัน ฉันหาวิธีแก้ปัญหาการทำงานที่ไม่เหมาะสมที่นี่ดังนั้นฉันจึงพบว่า:

แรงบันดาลใจจากโซลูชัน @ Rob-Scott และตัวชี้อื่น ๆ ที่เราสามารถติดตั้ง Node.js ได้ 2 เวอร์ชันฉันไปC:\Program Files (x86)\nodejsและรู้ว่าฉันติดตั้ง node.js เวอร์ชั่นเพิ่มเติมนอกเหนือจากการติดตั้งเริ่มต้นของ VS

โซลูชันของฉันค่อนข้างง่าย:

  • ไปที่เครื่องมือ> ตัวเลือก> โครงการและโซลูชัน> การจัดการแพ็คเกจเว็บ> เครื่องมือเว็บภายนอก
  • คลิกที่add an entry(ซ้ายสุดของปุ่มด้านบนขวา)
  • ใส่C:\Program Files (x86)\nodejsตรวจสอบได้โดยการกดenter
  • นำมาไว้ที่ด้านบนของรายการ
  • สนุก

อาจ Node.js ไม่ได้ตั้งค่าที่ดีในตัวแปร PATH แต่นี่เป็นวิธีแก้ปัญหาที่รวดเร็วของฉัน 2 cents ของฉัน :)


1

ฉันต้องเลือกรุ่นโหนดเริ่มต้นใหม่ก่อนnvm use ***หรือnvm install ***จากนั้นลบทั้งหมดใน node_modules ในโครงการและnpm iอีกครั้ง

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