Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

132
Vistas
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 sucede 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
15 Respuestas
Responde la pregunta

0

Dado que algunas de las respuestas a esta pregunta, se ha lanzado una nueva versión de node-sass ( v6 ) que soluciona el problema al agregar soporte para el nodo 16.

En mi caso, Rails dependía de una versión anterior de node-sass debido a la versión de @rails/webpacker que tenía en mi package.json ( 4.3.0 ). Actualizar esto a una versión posterior a la versión actual en el momento de esta respuesta, 5.4.0 , resolvió el problema.

over 4 years ago · Santiago Trujillo Denunciar

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 Denunciar

0

No sé sobre el const auto numerator .

Pero cuando ~/Library/Caches/node-gyp/16.4.0/include/node/v8-internal.h (el tuyo tiene un directorio diferente) como se muestra en el error de mi terminal, procede a la compilación sin error.

Mi solución:

Cambié el nombre de remove_cv_t a remove_cv como se indica en el mensaje de error.

luego proceda a la compilación.


Lo que planeo a continuación después de esta solución temporal es actualizar ng xcode. Tal vez tenga la definición de plantilla actualizada como se indica en el mensaje de error

 template <class _Tp> struct _LIBCPP_TEMPLATE_VIS remove_cv
over 4 years ago · Santiago Trujillo Denunciar

0

Para chips Apple M1, la forma de trabajo es:

 sudo xcode-select --install curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash nvm install v15 nvm cache clear
over 4 years ago · Santiago Trujillo Denunciar

0

En mi caso, acabo de cambiar el nodo del 12 al 10:

 nvm use 10
over 4 years ago · Santiago Trujillo Denunciar

0

Traté de ver mi versión actual con cpp --version que da

 cpp --version 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

La versión del compilador no es la versión estándar de C++.

La primera es la versión de la herramienta, la segunda es la versión del estándar C++.

Mientras tanto, todos los principales compiladores recientes de C ++ (lo sé) admiten múltiples estándares de C ++.

El estándar C++ es importante si se va a desarrollar un código portátil (conforme al estándar), independiente de un compilador específico. Esto permite desarrollar código para múltiples plataformas, compilado por diferentes compiladores. También ayuda a desarrollar con mejor calidad: una debilidad en el código que puede pasar desapercibida (es decir, ser tolerada) en el compilador de un proveedor, podría quejarse en otro.

La elección explícita del estándar C++ en un compilador también es importante:

  • Es posible que el estándar compatible más reciente del compilador aún se encuentre en un estado experimental.
  • El desarrollador puede desarrollar contra un cierto estándar (antiguo) (para seguir siendo compatible con otras plataformas donde el estándar C++ más reciente aún no es compatible con los compiladores disponibles) y quiere asegurarse de que no se introduzcan cosas más nuevas.

Un compilador con una determinada versión del compilador por defecto suele tener un determinado estándar de C++. (Cuál puede encontrarse en el documento o en línea). Sin embargo, este no es necesariamente el estándar C++ compatible más reciente.

La elección explícita del estándar C++ se puede hacer con un argumento de línea de comando:

  • g++ y clang: -std= (y probablemente también compiladores de otros proveedores)
  • MSVC: /std: .

Por ejemplo g++ -std=c++14 llama a G++ forzado al estándar C++14.

Es un poco triste que este argumento de la línea de comando no sea literalmente idéntico para todos los compiladores/proveedores. Por lo tanto, es más conveniente definir el estándar C++ requerido en la herramienta construida que se utiliza. (La herramienta construida se encargará de elegir el argumento de línea de comando apropiado dependiendo del compilador encontrado/usado).

Para CMake (que uso en el trabajo diario), esto es

 set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF)

(Para los casos de esquina, es posible que se requieran configuraciones adicionales, ya que una vez descubrí dolorosamente: SO: Puntero a la variable miembro como miembro estático ).

OP usa yarn , es cierto que nunca antes había oído hablar de él.

Informó que yarn install -std=c++17 resolvió su problema. (Traté de encontrar algún tipo de documento para esto en línea, pero fallé).

over 4 years ago · Santiago Trujillo Denunciar

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 Denunciar

0

Tal vez no sea una respuesta directa a este problema, pero me encontré con esta pregunta mientras depuraba compilaciones fallidas en TravisCI y me hizo presionar bastantes confirmaciones para solucionarlo. Para mí fue causado porel hecho de que Node 16 fue lanzado hace unos días. Me di cuenta de que estaba usando el nvm install node en before_script, que siempre tiene el valor predeterminado más reciente, en lugar de la nvm install que en realidad se adhiere a la versión especificada en .nvmrc . Si bien usar una versión anterior de algo no es una solución a largo plazo; yarn install -std=c++14 ya me falló en esa misma línea.

over 4 years ago · Santiago Trujillo Denunciar

0

Similar a @murb, ejecuté una actualización de preparación el otro día en mi cuadro de compilación y noté que el nodo 16 estaba instalado. Soltarlo de nuevo en el nodo 12 me solucionó el problema hasta que pueda actualizar todo mi sistema de compilación para que funcione correctamente con una versión más nueva de node.

over 4 years ago · Santiago Trujillo Denunciar

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 desaconsejo, 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 Denunciar

0

Actualice a node-sass@6, que agregó soporte para Node 16 , lanzado recientemente

over 4 years ago · Santiago Trujillo Denunciar

0

Tuve el mismo problema con el Nodo 16. La degradación al Nodo 14 funcionó bien para mí. Aquí hay pasos simples sobre cómo puede hacer lo mismo (usando Homebrew):

  • Verifique la versión actual de su nodo

     node -v
  • Comprobar las versiones de nodos disponibles

     brew search node
  • Para desvincularse de la versión actual

     brew unlink node
  • Instale la versión que desee usando el siguiente comando (por ejemplo, para la versión 14)

     brew install node@14
  • Vincularlo a la versión instalada

     brew link node@14

Al final, solo asegúrese de tener la versión correcta instalada usando el comando del primer paso.

over 4 years ago · Santiago Trujillo Denunciar

0

Prueba esto:

 export CXXFLAGS="--std=c++17" && npm install
over 4 years ago · Santiago Trujillo Denunciar

0

Mismo problema, esto lo soluciona para mí:

 CXXFLAGS="--std=c++17" yarn install
over 4 years ago · Santiago Trujillo Denunciar

0

Recibí este error mientras construía node-sass .

/Users/shahwarkhalid/.node-gyp/16.6.1/include/node/v8-internal.h:488:38: error: no template named 'remove_cv_t' in namespace 'std'; did you mean 'remove_cv'?

Este truco resolvió mi problema:

cd /Users/shahwarkhalid/.node-gyp/16.6.1/include/node/

abra el archivo v8-internal.h en un editor.

cambie remove_cv_t a remove_cv en la línea 488.

yarn install de nuevo y el problema se resolvió.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda