简体   繁体   中英

Installing node package globally without internet on server error: No such file or directory

I'm working with a nodejs project. The project has local and global dependency of npm packages. The server where we want to deploy the project doesn't have the internet connection. So, we're trying to install npm packages on the server.

For local dependency, copy local dependency from local machine to server works. However, We are struggling to install global packages.

We're using below global packages:

  1. Truffle v4.1.12.
  2. PM2

To install global packages we have tried several things like:

Copy executable to /user/local/bin from local machine and
Copy content from lib/node_modules/truffle to /usr/local/lib/node_modules/truffle

However, it didn't work. Shows error as below even though the file cli.bundled.js is located.

[redhat@redhat8 ~]$ truffle -v
/usr/local/bin/truffle: line 1: ../lib/node_modules/truffle/build/cli.bundled.js: No such file or directory

I thought it's issue of symbolic link so tried to create it

ln -s /usr/local/bin/truffle /usr/local/lib/node_modules/truffle/build/cli.bundled.js

However still it's showing same error. Is there anyway to make it work?

Instead of installing as a global module, which will require you to understand more about how your target system is configured, install it as a peer dependency.

npm install --save-peer pm2 truffle

This will place the executables in node_modules . To invoke them, make sure you are in that directory with the package.json file. (This is important to note for startup scripts and things like that, of course.) You can then invoke the executables with npx :

$ npx truffle -v
npx truffle -v   
Truffle v5.3.0 - a development framework for Ethereum

Usage: truffle <command> [options]

Commands:
  build     Execute build pipeline (if configuration present)
  compile   Compile contract source files
  config    Set user-level configuration options
  console   Run a console with contract abstractions and commands available
  create    Helper to create new contracts, migrations and tests
  db        Database interface commands
  debug     Interactively debug any transaction on the blockchain
  deploy    (alias for migrate)
  develop   Open a console with a local development blockchain
  exec      Execute a JS module within this Truffle environment
  help      List all commands or provide information about a specific command
  init      Initialize new and empty Ethereum project
  install   Install a package from the Ethereum Package Registry
  migrate   Run migrations to deploy contracts
  networks  Show addresses for deployed contracts on each network
  obtain    Fetch and cache a specified compiler
  opcode    Print the compiled opcodes for a given contract
  preserve  Save data to decentralized storage platforms like IPFS and Filecoin
  publish   Publish a package to the Ethereum Package Registry
  run       Run a third-party command
  test      Run JavaScript and Solidity tests
  unbox     Download a Truffle Box, a pre-built Truffle project
  version   Show version number and exit
  watch     Watch filesystem for changes and rebuild the project automatically

See more at http://trufflesuite.com/docs
$ 

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM