Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

259
Views
error: ninguna plantilla llamada 'remove_cv_t' en el espacio de nombres 'std'; ¿Quiso decir 'remove_cv'?

Mi problema parece similar a este problema, excepto que ocurre cuando ejecuto yarn install en una aplicación de Rails.

Cuando ejecuto yarn install , se ejecuta correctamente durante algún tiempo, luego

 ../src/libsass/src/ast.hpp:1614:25: warning: loop variable 'numerator' of type 'const std::__1::basic_string<char>' creates a copy from type 'const std::__1::basic_string<char>' [-Wrange-loop-analysis] for (const auto numerator : numerators) ^ ../src/libsass/src/ast.hpp:1614:14: note: use reference type 'const std::__1::basic_string<char> &' to prevent copying for (const auto numerator : numerators) ^~~~~~~~~~~~~~~~~~~~~~ & ../src/libsass/src/ast.hpp:1616:25: warning: loop variable 'denominator' of type 'const std::__1::basic_string<char>' creates a copy from type 'const std::__1::basic_string<char>' [-Wrange-loop-analysis] for (const auto denominator : denominators) ^ ../src/libsass/src/ast.hpp:1616:14: note: use reference type 'const std::__1::basic_string<char> &' to prevent copying for (const auto denominator : denominators) ^~~~~~~~~~~~~~~~~~~~~~~~ & 2 warnings generated. rm -f Release/sass.a && ./gyp-mac-tool filter-libtool libtool -static -o Release/sass.a Release/obj.target/libsass/src/libsass/src/ast.o Release/obj.target/libsass/src/libsass/src/ast_fwd_decl.o Release/obj.target/libsass/src/libsass/src/backtrace.o Release/obj.target/libsass/src/libsass/src/base64vlq.o Release/obj.target/libsass/src/libsass/src/bind.o Release/obj.target/libsass/src/libsass/src/cencode.o Release/obj.target/libsass/src/libsass/src/check_nesting.o Release/obj.target/libsass/src/libsass/src/color_maps.o Release/obj.target/libsass/src/libsass/src/constants.o Release/obj.target/libsass/src/libsass/src/context.o Release/obj.target/libsass/src/libsass/src/cssize.o Release/obj.target/libsass/src/libsass/src/emitter.o Release/obj.target/libsass/src/libsass/src/environment.o Release/obj.target/libsass/src/libsass/src/error_handling.o Release/obj.target/libsass/src/libsass/src/eval.o Release/obj.target/libsass/src/libsass/src/expand.o Release/obj.target/libsass/src/libsass/src/extend.o Release/obj.target/libsass/src/libsass/src/file.o Release/obj.target/libsass/src/libsass/src/functions.o Release/obj.target/libsass/src/libsass/src/inspect.o Release/obj.target/libsass/src/libsass/src/json.o Release/obj.target/libsass/src/libsass/src/lexer.o Release/obj.target/libsass/src/libsass/src/listize.o Release/obj.target/libsass/src/libsass/src/memory/SharedPtr.o Release/obj.target/libsass/src/libsass/src/node.o Release/obj.target/libsass/src/libsass/src/operators.o Release/obj.target/libsass/src/libsass/src/output.o Release/obj.target/libsass/src/libsass/src/parser.o Release/obj.target/libsass/src/libsass/src/plugins.o Release/obj.target/libsass/src/libsass/src/position.o Release/obj.target/libsass/src/libsass/src/prelexer.o Release/obj.target/libsass/src/libsass/src/remove_placeholders.o Release/obj.target/libsass/src/libsass/src/sass.o Release/obj.target/libsass/src/libsass/src/sass2scss.o Release/obj.target/libsass/src/libsass/src/sass_context.o Release/obj.target/libsass/src/libsass/src/sass_functions.o Release/obj.target/libsass/src/libsass/src/sass_util.o Release/obj.target/libsass/src/libsass/src/sass_values.o Release/obj.target/libsass/src/libsass/src/source_map.o Release/obj.target/libsass/src/libsass/src/subset_map.o Release/obj.target/libsass/src/libsass/src/to_c.o Release/obj.target/libsass/src/libsass/src/to_value.o Release/obj.target/libsass/src/libsass/src/units.o Release/obj.target/libsass/src/libsass/src/utf8_string.o Release/obj.target/libsass/src/libsass/src/util.o Release/obj.target/libsass/src/libsass/src/values.o c++ '-DNODE_GYP_MODULE_NAME=binding' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-D_DARWIN_USE_64_BIT_INODE=1' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DBUILDING_NODE_EXTENSION' -I/Users/st/.node-gyp/16.0.0/include/node -I/Users/st/.node-gyp/16.0.0/src -I/Users/st/.node-gyp/16.0.0/deps/openssl/config -I/Users/st/.node-gyp/16.0.0/deps/openssl/openssl/include -I/Users/st/.node-gyp/16.0.0/deps/uv/include -I/Users/st/.node-gyp/16.0.0/deps/zlib -I/Users/st/.node-gyp/16.0.0/deps/v8/include -I../../nan -I../src/libsass/include -O3 -gdwarf-2 -mmacosx-version-min=10.7 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=c++11 -stdlib=libc++ -fno-rtti -fno-exceptions -fno-strict-aliasing -MMD -MF ./Release/.deps/Release/obj.target/binding/src/binding.odraw -c -o Release/obj.target/binding/src/binding.o ../src/binding.cpp In file included from ../src/binding.cpp:1: In file included from ../../nan/nan.h:56: In file included from /Users/st/.node-gyp/16.0.0/include/node/node.h:63: In file included from /Users/st/.node-gyp/16.0.0/include/node/v8.h:30: /Users/st/.node-gyp/16.0.0/include/node/v8-internal.h:452:38: error: no template named 'remove_cv_t' in namespace 'std'; did you mean 'remove_cv'? !std::is_same<Data, std::remove_cv_t<T>>::value>::Perform(data); ~~~~~^~~~~~~~~~~ remove_cv /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/type_traits:697:50: note: 'remove_cv' declared here template <class _Tp> struct _LIBCPP_TEMPLATE_VIS remove_cv ^ 1 error generated. make: *** [Release/obj.target/binding/src/binding.o] Error 1 gyp ERR! build error gyp ERR! stack Error: `make` failed with exit code: 2 gyp ERR! stack at ChildProcess.onExit (/Users/st/rails/myapp/node_modules/node-gyp/lib/build.js:262:23) gyp ERR! stack at ChildProcess.emit (node:events:365:28) gyp ERR! stack at Process.ChildProcess._handle.onexit (node:internal/child_process:290:12) gyp ERR! System Darwin 20.3.0 gyp ERR! command "/usr/local/Cellar/node/16.0.0/bin/node" "/Users/st/rails/myapp/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library=" gyp ERR! cwd /Users/st/rails/myapp/node_modules/node-sass gyp ERR! node -v v16.0.0 gyp ERR! node-gyp -v v3.8.0 gyp ERR! not ok

¿Alguna idea de como resolver esto? (Ni siquiera estoy seguro de si es un problema con xcode/node/rails/c++)

Otras notas

  • /usr/bin/xcodebuild -version devuelve
 Xcode 12.4 Build version 12D4e
  • cpp --version devuelve
 Apple clang version 12.0.0 (clang-1200.0.32.29) Target: x86_64-apple-darwin20.3.0 Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

Tenga en cuenta: no codifico en cpp, por lo que tengo muy poco conocimiento contextual sobre cómo resolver.

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Actualización : desde la versión 6.0.1 de node-sass, se admite Node 16. Actualizar node-sass a una versión superior a 6.0.1 resuelve este problema.


Lo que está viendo es un error durante la compilación de node-sass. Ese es un paquete que procesa sus estilos Sass/SCSS, que está escrito en C++ y solo se vuelve a empaquetar como una biblioteca de JavaScript. El hecho de que esté escrito en C++ significa que debe compilarse en su dispositivo durante la instalación (esto lo hace internamente una herramienta llamada node-gyp, que también puede detectar en su salida de error).

El problema es que node-sass no es compatible con Node 16 al momento de escribir esta respuesta, vea el problema de seguimiento: https://github.com/sass/node-sass/issues/3077 No hay una estimación de cuándo lo admitirá (y eso es justo, ya que es un proyecto impulsado por voluntarios). Incluso si logra instalar node-sass en Node 16, le desaconsejaría, ya que el comportamiento podría no estar definido.

La solución correcta es degradar su instalación de Node a una versión compatible (puedo ver tanto 14 como 15 probados en su CI). Si git clonó un proyecto y no se instalará en su máquina, pero funciona para sus colegas o en el servidor de producción, es probable que el proyecto también tenga en mente una versión diferente de Node, y no se prueba en Node 16, así que recomendaría no desarrollarlo en el Nodo 16 de todos modos. Si el proyecto funcionó para usted hace unos días, pero no funciona ahora, es muy probable que haya actualizado recientemente la configuración de su sistema (por ejemplo, Homebrew), que lo actualizó a Node 16 (esto es lo que me pasó a mí y cómo encontré esta pregunta).

Debe consultar con los autores del proyecto cuál es la versión del servidor de producción de Node en la que se ejecuta e instalar esa versión localmente también. Como práctica recomendada, en el futuro, mantenga sincronizadas la versión de producción y su versión local de Node (y yarn o npm). Para administrar múltiples versiones de nodos, puede usar esta herramienta https://github.com/nvm-sh/nvm

over 4 years ago · Santiago Trujillo Report

0

Actualización: ¡solución simple!

Aquí hay una manera fácil de resolver esto que le permite seguir usando el nodo 16.

  1. Eliminar yarn.lock
  2. Abra package.json y asegúrese de usar la versión 5.4.3 de webpacker (que es la última versión; no extraerá la versión anterior de node-sass que causa este problema)
  3. Ejecutar yarn install
  4. ¡Inicie su servidor Rails y todo debería volver a la normalidad!

Aquí está la respuesta anterior, mucho más larga (en caso de que todavía sea útil):

node-sass aún no es compatible con node v16

Para evitar esto, descargue el nodo (por ejemplo , a la versión 14 ) hasta que node-sass sea compatible con v16. Para degradar el nodo usando nvm, simplemente ejecute:

 nvm install 14

Establezca la versión 14 globalmente (para que cada nueva ventana de terminal tenga por defecto la versión 14 del nodo) ejecutando :

 nvm alias default 14

¡Ahora tiene el nodo 14 instalado y configurado como predeterminado! ..ahora solo necesita hacer que su aplicación use v14.


Cómo hacer que su aplicación Rails use el nodo 14

Instale el nodo 14 (ver arriba). Abra la terminal y diríjase al directorio raíz de su aplicación, luego:

  1. Detenga su servidor Rails si se está ejecutando
  2. Abra una nueva ventana de terminal nueva (para que node --version devuelva 14.x (no 16)
  3. Ejecutar spring stop
  4. Eliminar yarn.lock
  5. Eliminar módulos de nodo existentes con rm -rf node_modules
  6. Verifique que el node --version devuelva 14. Si no ejecuta nvm install 14 nuevamente.
  7. Ahora reinstale los módulos con yarn install (si no tiene yarn para el nodo 14, instálelo con npm install --global yarn )
  8. ¡Debería tener éxito!
  9. ¡Reinicie su servidor Rails y funcionará!

Si tiene este problema específicamente en heroku , intente también asegurarse de que su webpacker esté actualizado :

 yarn upgrade @rails/webpacker --latest
over 4 years ago · Santiago Trujillo Report

0

Vuelva a la última versión de Node v14 LTS para usar node-sass :

 brew install node@14 brew unlink node brew link node@14 node -v spring stop

Ejecute en su proyecto Rails:

 yarn install

PD: el nodo 16 tiene errores con node-sass https://github.com/nodejs/node/issues/38367#issuecomment-825461899

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!