2014-12-02 2 views
0

я получаю эту ошибку при установке каких-либо узлов пакетов, которые работают node-gyp rebuild:НПМ установить холст умирает с «лязг: ошибка: нет такого файла или каталога:„{{}“»

SOLINK_MODULE(target) Release/canvas-postbuild.node 
clang: error: no such file or directory: '{{}' 
make: *** [Release/canvas-postbuild.node] Error 1 
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2 
gyp ERR! stack  at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:267:23) 
gyp ERR! stack  at ChildProcess.emit (events.js:98:17) 
gyp ERR! stack  at Process.ChildProcess._handle.onexit (child_process.js:810:12) 
gyp ERR! System Darwin 14.0.0 
gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" 
gyp ERR! cwd /Users/arkadiy/node-canvas 
gyp ERR! node -v v0.10.33 
gyp ERR! node-gyp -v v1.0.1 
gyp ERR! not ok 

У меня есть NPM 1.4. 28, и все/usr/local преданны мне. Звон в последнее время иш:

Apple LLVM version 6.0 (clang-600.0.54) (based on LLVM 3.5svn) 
Target: x86_64-apple-darwin14.0.0 
Thread model: posix 

Ошибка полностью ungoogleable (серьезно, попробуйте), и я даже не могу сказать, где лязг настоящее время вызывается из-за трассировки стека только для обработчика обратного вызова. Кажется, что проблема замены оболочки/xargs почти?

+0

Это оказалось вызвано чем-то, отравляющим мои LD_FLAGS буквами {}. Заключительный вопрос. –

ответ

0

Оказывается, у меня был буквальный LDFLAGS='{} -L/usr/local/opt/openssl/lib' из-за того, что не было расширена оболочкой. Неважно!

2

Я бы сказал, что ваш узел/npm install является подозрительным. Если исходить из их GitHub

https://github.com/Automattic/node-canvas 

и скачать РЭПО

git clone https://github.com/Automattic/node-canvas.git 

cd node-canvas 
npm install .  

уведомление периода, в вышеупомянутой команде - которая получает вверх по течению зависимости

Я просто сделал это, и все хорошо - если вы получить ошибки, сделанные выше, тогда я предлагаю вам удалить узел/npm и установить из источника. Следующие шаги дают вам такой чистый узел/НМП установки от источника

начать свежий удалить предварительно узел и НПМ устанавливает, а также следующие:

sudo mv ~/.npmrc ~/.npmrc_ignore 
sudo mv ~/.npm ~/.npm_ignore 
sudo mv ~/tmp ~/tmp_ignore 
sudo mv ~/.npm-init.js ~/.npm-init.js_ignore 

источник загрузки из: http://nodejs.org/download/

cd node-v0.10.33 

определяют переменную окружения NODE_PATH в качестве источника для последующих модулей.

export NODE_PARENT=/some/desired/install/path_goes_here 

export NODE_PARENT=/usr/local/bin/nodejs # use this ONLY if you MUST install as root (sudo) 
export NODE_PARENT=${HOME}/nodejs-v0.10.33 # use this if you want to install modules as yourself 

export PATH=${NODE_PARENT}/bin:${PATH} 
export NODE_PATH=${NODE_PARENT}/lib/node_modules 

./configure --prefix=${NODE_PARENT} 

make 
make install 

который помещает его в директорию определяется выше --prefix

при использовании синтаксиса: НАЯ установке -g some_cool_module -g, для глобального устанавливает его в дир $ NODE_PATH и не ваш $ PWD

ВАЖНО пут выше трех экспортированных xxx = yyy команд в ваш ~/.bashrc или некоторые из них, чтобы сохранить эти изменения переменных среды.

+0

Я схватил свежий установщик .pkg от http://nodejs.org/ вчера, похоже, что он должен работать, но я попробую его из источника сегодня вечером. (также я устанавливал в PWD в качестве зависимостей для другого проекта, но такая же ошибка компиляции произошла с глобальной установкой) –

 Смежные вопросы

  • Нет связанных вопросов^_^