Estoy intentando instalar odoo 12 en ubuntu 18.04 y tengo un problema con npm, así que quiero eliminar el nodo por completo, pero tengo errores

Estoy intentando instalar odoo 12 en ubuntu 18.04 y tengo un problema con npm, así que quiero eliminar el nodo por completo, pero tengo errores

Tengo problemas con npm al instalar odoo12. "Los siguientes paquetes tienen dependencias no satisfechas: npm: Depende: nodejs pero no se instalará"

así que estoy tratando de eliminar el nodo existente con todos los componentes para solucionar este problema. Completé la eliminación del nodo de mi máquina con el comando sudo apt-get purge --auto-remove nodejs y, sin embargo, cuando escribo node -v respuesta: v8. 11.3 estoy usando ubuntu 18.04

Respuesta1

Tengo una solución mejor que puede ser útil para otros. Acabo de modificar el script existente y funciona de maravilla.

Yo modifiquéGuión de Yenthe Van Ginneken

  • Cambiar el proceso de instalación de las bibliotecas de requisitos.

  • Agregue nuevas bibliotecas de Python y modifique versiones específicas de bibliotecas de Python.

  • Cambie el proceso de instalación de npm.

     #!/bin/bash
      ################################################################################
      # Script for installing Odoo on Ubuntu 14.04, 15.04, 16.04 and 18.04 (could be used for other version too)
      # Author: Yenthe Van Ginneken
      # Modified by: Shahid Raza
      #-------------------------------------------------------------------------------
      # This script will install Odoo on your Ubuntu 16.04 server. It can install multiple Odoo instances
      # in one Ubuntu because of the different xmlrpc_ports
      #-------------------------------------------------------------------------------
      # Make a new file:
      # sudo nano odoo-install.sh
      # Place this content in it and then make the file executable:
      # sudo chmod +x odoo-install.sh
      # Execute the script to install Odoo:
      # ./odoo-install
      ################################################################################
    
      #OE_USER is your system user change name according your system
      OE_USER="odoo"
      OE_HOME="/$OE_USER"
      OE_HOME_EXT="/$OE_USER/${OE_USER}-server"
      # The default port where this Odoo instance will run under (provided you use the command -c in the terminal)
      # Set to true if you want to install it, false if you don't need it or have it already installed.
      INSTALL_WKHTMLTOPDF="True"
      # Set the default Odoo port (you still have to use -c /etc/odoo-server.conf for example to use this.)
      OE_PORT="8069"
      # Choose the Odoo version which you want to install. For example: 12.0, 11.0, 10.0 or saas-18. When using 'master' the master version will be installed.
      # IMPORTANT! This script contains extra libraries that are specifically needed for Odoo 12.0
      OE_VERSION="12.0"
      # Set this to True if you want to install the Odoo enterprise version!
      IS_ENTERPRISE="False"
      # set the superadmin password
      OE_SUPERADMIN="admin"
      OE_CONFIG="${OE_USER}-server"
    
      ##
      ###  WKHTMLTOPDF download links
      ## === Ubuntu Trusty x64 & x32 === (for other distributions please replace these two links,
      ## in order to have correct version of wkhtmltopdf installed, for a danger note refer to 
      ## https://github.com/odoo/odoo/wiki/Wkhtmltopdf ):
      WKHTMLTOX_X64=https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.trusty_amd64.deb
      WKHTMLTOX_X32=https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.trusty_i386.deb
    
      #--------------------------------------------------
      # Update Server
      #--------------------------------------------------
      echo -e "\n---- Update Server ----"
    
      # add-apt-repository can install add-apt-repository Ubuntu 18.x
      sudo apt-get install software-properties-common
      # universe package is for Ubuntu 18.x
      sudo add-apt-repository universe
      # libpng12-0 dependency for wkhtmltopdf
      sudo add-apt-repository "deb http://mirrors.kernel.org/ubuntu/ xenial main"
      sudo apt-get update
      sudo apt-get upgrade -y
    
      #--------------------------------------------------
      # Install PostgreSQL Server
      #--------------------------------------------------
      echo -e "\n---- Install PostgreSQL Server ----"
      sudo apt-get install postgresql -y
    
      echo -e "\n---- Creating the ODOO PostgreSQL User  ----"
      sudo su - postgres -c "createuser -s $OE_USER" 2> /dev/null || true
    
      #--------------------------------------------------
      # Install Dependencies
      #--------------------------------------------------
      echo -e "\n--- Installing Python 3 + pip3 --"
      sudo apt-get install git python3 python3-pip build-essential wget python3-dev python3-venv python3-wheel libxslt-dev libzip-dev libldap2-dev libsasl2-dev python3-setuptools node-less libpng12-0 gdebi -y
    
      echo -e "\n---- Install python packages/requirements ----"
      sudo pip3 install Babel
      sudo pip3 install chardet
      sudo pip3 install decorator
      sudo pip3 install docutils
      sudo pip3 install ebaysdk
      sudo pip3 install feedparser
      sudo pip3 install gevent
      sudo pip3 install greenlet
      sudo pip3 install html2text
      sudo pip3 install Jinja2
      sudo pip3 install lxml
      sudo pip3 install Mako
      sudo pip3 install MarkupSafe
      sudo pip3 install mock
      sudo pip3 install num2words
      sudo pip3 install ofxparse
      sudo pip3 install passlib
      sudo pip3 install Pillow
      sudo pip3 install psutil
      sudo pip3 install psycopg2-binary
      sudo pip3 install pydot
      sudo pip3 install pyldap
      sudo pip3 install pyparsing
      sudo pip3 install PyPDF2
      sudo pip3 install pyserial
      sudo pip3 install python-dateutil
      sudo pip3 install pytz
      sudo pip3 install pyusb
      sudo pip3 install qrcode
      sudo pip3 install reportlab
      sudo pip3 install requests
      sudo pip3 install suds-jurko
      sudo pip3 install vatnumber
      sudo pip3 install vobject
      sudo pip3 install Werkzeug==0.11.15
      sudo pip3 install XlsxWriter
      sudo pip3 install xlwt
      sudo pip3 install xlrd
      sudo pip3 install pypiwin32
      sudo pip3 install libsass==0.12.3
    
      echo -e "\n---- Installing nodeJS NPM and rtlcss for LTR support ----"
      sudo apt-get install -y npm
      sudo ln -s /usr/bin/nodejs /usr/bin/node
      sudo npm install -g less less-plugin-clean-css
      sudo apt-get install -y node-less
    
      #--------------------------------------------------
      # Install Wkhtmltopdf if needed
      #--------------------------------------------------
      if [ $INSTALL_WKHTMLTOPDF = "True" ]; then
        echo -e "\n---- Install wkhtml and place shortcuts on correct place for ODOO 12 ----"
        #pick up correct one from x64 & x32 versions:
        if [ "`getconf LONG_BIT`" == "64" ];then
            _url=$WKHTMLTOX_X64
        else
            _url=$WKHTMLTOX_X32
        fi
        sudo wget $_url
        sudo gdebi --n `basename $_url`
        sudo ln -s /usr/local/bin/wkhtmltopdf /usr/bin
        sudo ln -s /usr/local/bin/wkhtmltoimage /usr/bin
      else
        echo "Wkhtmltopdf isn't installed due to the choice of the user!"
      fi
    
      echo -e "\n---- Create ODOO system user ----"
      sudo adduser --system --quiet --shell=/bin/bash --home=$OE_HOME --gecos 'ODOO' --group $OE_USER
      #The user should also be added to the sudo'ers group.
      sudo adduser $OE_USER sudo
    
      echo -e "\n---- Create Log directory ----"
      sudo mkdir /var/log/$OE_USER
      sudo chown $OE_USER:$OE_USER /var/log/$OE_USER
    
      #--------------------------------------------------
      # Install ODOO
      #--------------------------------------------------
      echo -e "\n==== Installing ODOO Server ===="
      sudo git clone --depth 1 --branch $OE_VERSION https://www.github.com/odoo/odoo $OE_HOME_EXT/
    
      if [ $IS_ENTERPRISE = "True" ]; then
          # Odoo Enterprise install!
          echo -e "\n--- Create symlink for node"
          sudo ln -s /usr/bin/nodejs /usr/bin/node
          sudo su $OE_USER -c "mkdir $OE_HOME/enterprise"
          sudo su $OE_USER -c "mkdir $OE_HOME/enterprise/addons"
    
          GITHUB_RESPONSE=$(sudo git clone --depth 1 --branch $OE_VERSION https://www.github.com/odoo/enterprise "$OE_HOME/enterprise/addons" 2>&1)
          while [[ $GITHUB_RESPONSE == *"Authentication"* ]]; do
              echo "------------------------WARNING------------------------------"
              echo "Your authentication with Github has failed! Please try again."
              printf "In order to clone and install the Odoo enterprise version you \nneed to be an offical Odoo partner and you need access to\nhttp://github.com/odoo/enterprise.\n"
              echo "TIP: Press ctrl+c to stop this script."
              echo "-------------------------------------------------------------"
              echo " "
              GITHUB_RESPONSE=$(sudo git clone --depth 1 --branch $OE_VERSION https://www.github.com/odoo/enterprise "$OE_HOME/enterprise/addons" 2>&1)
          done
    
          echo -e "\n---- Added Enterprise code under $OE_HOME/enterprise/addons ----"
          echo -e "\n---- Installing Enterprise specific libraries ----"
          sudo pip3 install num2words ofxparse
          sudo npm install -g less
          sudo npm install -g less-plugin-clean-css
      fi
    
      echo -e "\n---- Create custom module directory ----"
      sudo su $OE_USER -c "mkdir $OE_HOME/custom"
      sudo su $OE_USER -c "mkdir $OE_HOME/custom/addons"
    
      echo -e "\n---- Setting permissions on home folder ----"
      sudo chown -R $OE_USER:$OE_USER $OE_HOME/*
    
      echo -e "* Create server config file"
    
      sudo touch /etc/${OE_CONFIG}.conf
      echo -e "* Creating server config file"
      sudo su root -c "printf '[options] \n; This is the password that allows database operations:\n' >> /etc/${OE_CONFIG}.conf"
      sudo su root -c "printf 'admin_passwd = ${OE_SUPERADMIN}\n' >> /etc/${OE_CONFIG}.conf"
      sudo su root -c "printf 'xmlrpc_port = ${OE_PORT}\n' >> /etc/${OE_CONFIG}.conf"
      sudo su root -c "printf 'logfile = /var/log/${OE_USER}/${OE_CONFIG}.log\n' >> /etc/${OE_CONFIG}.conf"
      if [ $IS_ENTERPRISE = "True" ]; then
          sudo su root -c "printf 'addons_path=${OE_HOME}/enterprise/addons,${OE_HOME_EXT}/addons\n' >> /etc/${OE_CONFIG}.conf"
      else
          sudo su root -c "printf 'addons_path=${OE_HOME_EXT}/addons,${OE_HOME}/custom/addons\n' >> /etc/${OE_CONFIG}.conf"
      fi
      sudo chown $OE_USER:$OE_USER /etc/${OE_CONFIG}.conf
      sudo chmod 640 /etc/${OE_CONFIG}.conf
    
      echo -e "* Create startup file"
      sudo su root -c "echo '#!/bin/sh' >> $OE_HOME_EXT/start.sh"
      sudo su root -c "echo 'sudo -u $OE_USER $OE_HOME_EXT/openerp-server --config=/etc/${OE_CONFIG}.conf' >> $OE_HOME_EXT/start.sh"
      sudo chmod 755 $OE_HOME_EXT/start.sh
    
      #--------------------------------------------------
      # Adding ODOO as a deamon (initscript)
      #--------------------------------------------------
    
      echo -e "* Create init file"
      cat <<EOF > ~/$OE_CONFIG
      #!/bin/sh
      ### BEGIN INIT INFO
      # Provides: $OE_CONFIG
      # Required-Start: \$remote_fs \$syslog
      # Required-Stop: \$remote_fs \$syslog
      # Should-Start: \$network
      # Should-Stop: \$network
      # Default-Start: 2 3 4 5
      # Default-Stop: 0 1 6
      # Short-Description: Enterprise Business Applications
      # Description: ODOO Business Applications
      ### END INIT INFO
      PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin
      DAEMON=$OE_HOME_EXT/odoo-bin
      NAME=$OE_CONFIG
      DESC=$OE_CONFIG
      # Specify the user name (Default: odoo).
      USER=$OE_USER
      # Specify an alternate config file (Default: /etc/openerp-server.conf).
      CONFIGFILE="/etc/${OE_CONFIG}.conf"
      # pidfile
      PIDFILE=/var/run/\${NAME}.pid
      # Additional options that are passed to the Daemon.
      DAEMON_OPTS="-c \$CONFIGFILE"
      [ -x \$DAEMON ] || exit 0
      [ -f \$CONFIGFILE ] || exit 0
      checkpid() {
      [ -f \$PIDFILE ] || return 1
      pid=\`cat \$PIDFILE\`
      [ -d /proc/\$pid ] && return 0
      return 1
      }
      case "\${1}" in
      start)
      echo -n "Starting \${DESC}: "
      start-stop-daemon --start --quiet --pidfile \$PIDFILE \
      --chuid \$USER --background --make-pidfile \
      --exec \$DAEMON -- \$DAEMON_OPTS
      echo "\${NAME}."
      ;;
      stop)
      echo -n "Stopping \${DESC}: "
      start-stop-daemon --stop --quiet --pidfile \$PIDFILE \
      --oknodo
      echo "\${NAME}."
      ;;
      restart|force-reload)
      echo -n "Restarting \${DESC}: "
      start-stop-daemon --stop --quiet --pidfile \$PIDFILE \
      --oknodo
      sleep 1
      start-stop-daemon --start --quiet --pidfile \$PIDFILE \
      --chuid \$USER --background --make-pidfile \
      --exec \$DAEMON -- \$DAEMON_OPTS
      echo "\${NAME}."
      ;;
      *)
      N=/etc/init.d/\$NAME
      echo "Usage: \$NAME {start|stop|restart|force-reload}" >&2
      exit 1
      ;;
      esac
      exit 0
      EOF
    
      echo -e "* Security Init File"
      sudo mv ~/$OE_CONFIG /etc/init.d/$OE_CONFIG
      sudo chmod 755 /etc/init.d/$OE_CONFIG
      sudo chown root: /etc/init.d/$OE_CONFIG
    
      echo -e "* Start ODOO on Startup"
      sudo update-rc.d $OE_CONFIG defaults
    
      echo -e "* Starting Odoo Service"
      sudo su root -c "/etc/init.d/$OE_CONFIG start"
      echo "-----------------------------------------------------------"
      echo "Done! The Odoo server is up and running. Specifications:"
      echo "Port: $OE_PORT"
      echo "User service: $OE_USER"
      echo "User PostgreSQL: $OE_USER"
      echo "Code location: $OE_USER"
      echo "Addons folder: $OE_USER/$OE_CONFIG/addons/"
      echo "Start Odoo service: sudo service $OE_CONFIG start"
      echo "Stop Odoo service: sudo service $OE_CONFIG stop"
      echo "Restart Odoo service: sudo service $OE_CONFIG restart"
      echo "-----------------------------------------------------------"
    

Respuesta2

La instalación nodejsinstalará npm. Así que simplemente elimínelo nodejsy vuelva a instalarlo:

sudo apt-get remove nodejs
sudo apt-get --purge remove nodejs node npm
sudo apt-get clean
sudo apt-get autoclean
sudo apt-get -f install
sudo apt-get autoremove

También puedes arreglar tu paquete roto con esto,

sudo apt-get install -f

Después de intentar nuevamente presionar el comando, su problema se resolverá.

información relacionada