Nodejs Не удается найти модуль "../build/Release/canvas"
Я установил Каир и узел-холст. Я попробовал все, но все еще не могу найти модуль.
sudo apt-get install libcairo2-dev
sudo npm install canvas
sudo npm install canvas -g
Если я бегу require('canvas')
Я получаю эту ошибку:
Error: Cannot find module '../build/Release/canvas'
at Function._resolveFilename (module.js:332:11)
at Function._load (module.js:279:25)
at Module.require (module.js:354:17)
at require (module.js:370:17)
at Object.<anonymous> (/home/tomas/node_modules/canvas/lib/bindings.js:2:18)
at Module._compile (module.js:441:26)
at Object..js (module.js:459:10)
at Module.load (module.js:348:32)
at Function._load (module.js:308:12)
at Module.require (module.js:354:17)
Я использую Ubuntu Linux
Заранее спасибо.
9 ответов
В моем случае мне нужно потратить много времени, чтобы решить эту проблему.
Я просто использую "npm uninstall canvas", а затем устанавливаю с помощью "npm i canvas"
Попробуйте это, если вышеуказанный вариант вам не подходит.
Казалось, что
install
скрипт тоже не был вызван в моем случае. Вместо удаления файла блокировки я просто вызвал скрипт вручную, который решил проблему в моем случае (по крайней мере, временно).
Следовательно, если
canvas
пакет уже установлен, перейдите в / node_modules / canvas / и запустите
npm run install
который создает каталог сборки.
У меня такая же проблема. Проблема заключалась в том, что install
сценарий для node-canvas
никогда не был казнен, поэтому build
папка отсутствовала.
В моем случае удаление yarn.lock
файл был решением, так как он пропустил node-canvas
установка пакета по какой-то причине. Однажды я позволил npm
позаботьтесь о пакетах, он успешно установлен node-canvas
побежал install
скрипт и папка сборки снова появились.
Проблема здесь выглядит следующим образом: 1. Ваши модули узлов установлены в другом месте, но среда выполнения node.js ищет его в другом месте. Проверьте NODE_PATH и посмотрите, так ли это.
См. Загрузку модуля, объясненную в http://nodejs.org/api/modules.html
Вы можете попробовать это:
- Удалить папку NodeModule
- Используйте версию узла 14
- Запуск установки зависимостей
Та же проблема в моем приложении nextjs. В моем случае. я установилreact-pdf
package, то возникла эта проблема.
Мое решение: просто уведомить webapck, чтобы он игнорировалcanvas
модуль
Добавьте следующие параметры веб-пакета вnext.config.js
const nextConfig = {
webpack(config){
config.externals.push('canvas')
return config
}
};
sudo apt-get install libpixman-1-dev libcairo2-dev libpangocairo-1.0-0 libpango1.0-dev libgif-dev libjpeg-dev
Если вы используете Ubuntu, попробуйте установить выше lib, а затем установите canvas.work отлично для меня.
Если вы используете cnpm, установите холст. попробуйте нпм.
В моем случае:
rm -rf node_modules
rm package-lock.json
npm install
:D
У меня была аналогичная проблема, но я использовал предварительно созданный холст, который является заменой холста, и я исправил его для этого:npm install -g node-gyp, а затем перестройка node-gyp в терминале